tendermint/example/dummy
Tzu-Jung Lee fcaa545e1e lint: remove dot import (go-common)
Spell out the package explicitly.
This commit is totally textual, and does not change any logic.

The swiss-army knife package may serve a kick-start in early
stage development. But as the codebase growing, we might want
to retire it gradually:

  For simple wrapping functions, just inline it on the call site.
  For larger pice of code, make it an independent package.
2017-01-16 23:20:04 -08:00
..
README.md TMSP -> ABCI 2017-01-12 16:04:32 -05:00
dummy.go lint: remove dot import (go-common) 2017-01-16 23:20:04 -08:00
dummy_test.go lint: remove dot import (go-common) 2017-01-16 23:20:04 -08:00
log.go persistent dummy 2016-11-16 13:32:01 -05:00
persistent_dummy.go lint: remove dot import (go-common) 2017-01-16 23:20:04 -08:00

README.md

Dummy

There are two app's here: the DummyApplication and the PersistentDummyApplication.

DummyApplication

The DummyApplication is a simple merkle key-value store. Transactions of the form key=value are stored as key-value pairs in the tree. Transactions without an = sign set the value to the key. The app has no replay protection (other than what the mempool provides).

PersistentDummyApplication

The PersistentDummyApplication wraps the DummyApplication and provides two additional features:

  1. persistence of state across app restarts (using Tendermint's ABCI-Handshake mechanism)
  2. validator set changes

The state is persisted in leveldb along with the last block committed, and the Handshake allows any necessary blocks to be replayed. Validator set changes are effected using the following transaction format:

val:pubkey1/power1,addr2/power2,addr3/power3"

where power1 is the new voting power for the validator with pubkey1 (possibly a new one). There is no sybil protection against new validators joining. Validators can be removed by setting their power to 0.