vite

package module
v2.11.3-rc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2022 License: GPL-3.0 Imports: 18 Imported by: 0

README

Logo

Vite is a next-generation Reactive Blockchain that adopts a message-driven, asynchronous architecture and a DAG-based ledger. The goal for Vite’s design is to provide a reliable public platform for industrial dApps, with features of ultra-high throughput and scalability.

Go Vite

Official golang implementation of Vite Protocol

GitHub release Go Report Card GitHub closed pull requests Downloads

The go-vite binary files can be download from releases.

Guides & Documentation

Product

Installation

You can choose one of the following installation options:

Faster ledger sync

download gvite ledger file manually.

Versioning

Given a version number MAJOR.MINOR.BUILD, increment the:

  1. MAJOR version when you make a significant update of the protocol (like Ethereum, Ethereum 2.0 is rather a new blockchain from Ethereum 1.0),
  2. MINOR version when you introduce some breaking changes, and
  3. BUILD version when you make non-breaking changes such as bug fixes, RPC modifications, code refactoring, test updates, etc.

Branching

The master branch is the working branch for the next release.

  • Breaking changes should not be merged into master unless as described below.
  • Non-breaking changes should be merged into master.
  1. A new branch should be checked out from master before releasing a new version.

    • Say the latest version running on mainnet is 2.12.2, we can checkout a branch named release_v2.12.3 from master for building, deploying on testnet, releasing the binary and deploying on mainnet.
  2. A development branch for the next breaking changes, for example v2.13, will be checked out from master.

    • Any commits from master are required to be merged into v2.13 (or rebase v2.13 onto master) as soon as possible.
    • All unit tests and integration tests should pass before merging a pull request.
  3. Merge v2.13 into master and checkout release_v2.13.0 from master before the mainnet upgrade.

    • This means that v2.13.0 is the next release and there are no more releases of version 2.12.x.
    • The branch v2.13 reached end-of-life and a new branch v2.14 for the next breaking changes should be checked out from master.
    • From this point onwards, any new commits which are merged into master are based on version 2.13.

Any changes should be committed to your personal fork followed by opening a PR in the official repository.

Contribution

Thank you for considering to help out with the source code! We welcome any contributions no matter how small they are!

If you'd like to contribute to go-vite, please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base.

Please make sure your contributions adhere to our coding guidelines:

  • Code must adhere to the official Go formatting guidelines.
  • Code must be documented adhering to the official Go commentary guidelines.
  • Pull requests need to be based on and opened against the master branch.
  • Open an issue before submitting a PR for non-breaking changes.
  • Publish a VEP proposal before submitting a PR for breaking changes.

License

The go-vite source code is licensed under GPLv3, also included in the LICENSE file.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Vite

type Vite struct {
	// contains filtered or unexported fields
}

func New

func New(cfg *config.Config, walletManager *wallet.Manager) (vite *Vite, err error)

func NewMock added in v2.11.3

func NewMock(cfg *config.Config, walletManager *wallet.Manager) (vite *Vite, err error)

func (*Vite) Chain

func (v *Vite) Chain() chain.Chain

func (*Vite) Config

func (v *Vite) Config() *config.Config

func (*Vite) Consensus

func (v *Vite) Consensus() consensus.Consensus

func (*Vite) Init

func (v *Vite) Init() (err error)

func (*Vite) Net

func (v *Vite) Net() net.Net

func (*Vite) OnRoad

func (v *Vite) OnRoad() *onroad.Manager

func (*Vite) Pool

func (v *Vite) Pool() pool.BlockPool

func (*Vite) Producer

func (v *Vite) Producer() producer.Producer

func (*Vite) Start

func (v *Vite) Start() (err error)

func (*Vite) Stop

func (v *Vite) Stop() (err error)

func (*Vite) Verifier

func (v *Vite) Verifier() verifier.Verifier

func (*Vite) WalletManager

func (v *Vite) WalletManager() *wallet.Manager

Directories

Path Synopsis
rpc
cmd
Package common contains various helper functions.
Package common contains various helper functions.
db
db/xleveldb
Package leveldb provides implementation of LevelDB key/value database.
Package leveldb provides implementation of LevelDB key/value database.
db/xleveldb/cache
Package cache provides interface and implementation of a cache algorithms.
Package cache provides interface and implementation of a cache algorithms.
db/xleveldb/comparer
Package comparer provides interface and implementation for ordering sets of data.
Package comparer provides interface and implementation for ordering sets of data.
db/xleveldb/errors
Package errors provides common error types used throughout leveldb.
Package errors provides common error types used throughout leveldb.
db/xleveldb/filter
Package filter provides interface and implementation of probabilistic data structure.
Package filter provides interface and implementation of probabilistic data structure.
db/xleveldb/iterator
Package iterator provides interface and implementation to traverse over contents of a database.
Package iterator provides interface and implementation to traverse over contents of a database.
db/xleveldb/journal
Package journal reads and writes sequences of journals.
Package journal reads and writes sequences of journals.
db/xleveldb/memdb
Package memdb provides in-memory key/value database implementation.
Package memdb provides in-memory key/value database implementation.
db/xleveldb/opt
Package opt provides sets of options used by LevelDB.
Package opt provides sets of options used by LevelDB.
db/xleveldb/storage
Package storage provides storage abstraction for LevelDB.
Package storage provides storage abstraction for LevelDB.
db/xleveldb/table
Package table allows read and write sorted key/value.
Package table allows read and write sorted key/value.
db/xleveldb/util
Package util provides utilities used throughout leveldb.
Package util provides utilities used throughout leveldb.
hexutil
Package hexutil implements hex encoding with 0x prefix.
Package hexutil implements hex encoding with 0x prefix.
math
Package math provides integer math utilities.
Package math provides integer math utilities.
ed25519
Package ed25519 implements the Ed25519 signature algorithm.
Package ed25519 implements the Ed25519 signature algorithm.
ledger
chain/state
Package chain_state is a generated GoMock package.
Package chain_state is a generated GoMock package.
consensus
Package consensus is a generated GoMock package.
Package consensus is a generated GoMock package.
consensus/core
Package core is a generated GoMock package.
Package core is a generated GoMock package.
Package log15 provides an opinionated, simple toolkit for best-practice logging that is both human and machine readable.
Package log15 provides an opinionated, simple toolkit for best-practice logging that is both human and machine readable.
net
discovery
Package discovery is a generated GoMock package.
Package discovery is a generated GoMock package.
pow
Package rpc provides access to the exported methods of an object across chain network or other I/O connection.
Package rpc provides access to the exported methods of an object across chain network or other I/O connection.
api
tools
vm
Package vm implements the vite virtual machine
Package vm implements the vite virtual machine
abi

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL