From 8686c8b92cb833913195c0e5a72b8c16d3a3f389 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Fri, 22 Jun 2018 17:21:01 +0300 Subject: [PATCH 01/23] validators docs --- docs/assets/vault-candidate-on.png | Bin 0 -> 40744 bytes docs/assets/vault-declare.png | Bin 0 -> 122279 bytes docs/install.rst | 4 ++- docs/validators.rst | 41 +++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 docs/assets/vault-candidate-on.png create mode 100644 docs/assets/vault-declare.png diff --git a/docs/assets/vault-candidate-on.png b/docs/assets/vault-candidate-on.png new file mode 100644 index 0000000000000000000000000000000000000000..0b56e1ada31d204e0584157dacc71d27d95418bb GIT binary patch literal 40744 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 P+E3$&?&I=@wy*yW%{y|6 literal 0 HcmV?d00001 diff --git a/docs/assets/vault-declare.png b/docs/assets/vault-declare.png new file mode 100644 index 0000000000000000000000000000000000000000..23f01116e1e77dd24d215a6ab04eee6dd7358df1 GIT binary patch literal 122279 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. +3. Restart Minter Node and Tendermint. +4. To to `Vault `__ and send 2 transactions: + +Declare candidacy + - Address - You will receive rewards to this address and will be able to on/off your validator. + - Public Key - Paste public key you created in step 2. + - Commission - Set commission for delegated stakes. + - Coin - Enter coin of your stake (MNT). + - Stake - Enter value of your stake in given coin. + +.. figure:: assets/vault-declare.png + :width: 300px + +Set candidate online + Public Key - Paste public key you created in step 2. + +.. figure:: assets/vault-candidate-on.png + :width: 300px + +5. Done. + Now you will receive reward as long as your node is running and available. From 79ea94495868bfdf4fca594f7daa232a474fef4e Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Fri, 22 Jun 2018 17:27:04 +0300 Subject: [PATCH 02/23] doc fix --- docs/validators.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/validators.rst b/docs/validators.rst index 6ce5ba2dc..64a84f9b1 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -19,7 +19,7 @@ Rules and fines How to became validator in testnet ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1. Install and run Minter Full Node. See :ref:`install-minter`. +1. Install and run Minter Full Node. See :ref:`install-minter`. Make sure your node successfully synchronized. 2. Generate and install validator's key using our `tool `__. 3. Restart Minter Node and Tendermint. 4. To to `Vault `__ and send 2 transactions: From 97379b23384d924a4e9ee8e9e986f174be0fa721 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Fri, 22 Jun 2018 17:29:29 +0300 Subject: [PATCH 03/23] doc fix --- docs/validators.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/validators.rst b/docs/validators.rst index 64a84f9b1..3e930168f 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -22,7 +22,7 @@ How to became validator in testnet 1. Install and run Minter Full Node. See :ref:`install-minter`. Make sure your node successfully synchronized. 2. Generate and install validator's key using our `tool `__. 3. Restart Minter Node and Tendermint. -4. To to `Vault `__ and send 2 transactions: +4. To to `Vault `__ (you can receive testnet coins in our telegram wallet @BipWallet_Bot) and send 2 transactions: Declare candidacy - Address - You will receive rewards to this address and will be able to on/off your validator. From baefe207109dc0f3a1cb4d99324d3ba5dca570c1 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Fri, 22 Jun 2018 20:39:14 +0300 Subject: [PATCH 04/23] fix typo --- docs/validators.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/validators.rst b/docs/validators.rst index 3e930168f..893ea7d13 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -16,7 +16,7 @@ Rules and fines ... -How to became validator in testnet +How to become validator in testnet ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. Install and run Minter Full Node. See :ref:`install-minter`. Make sure your node successfully synchronized. From aaeb80ee0ebeb157f5d1c932d2016f2ff1ebdee1 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Fri, 22 Jun 2018 21:06:48 +0300 Subject: [PATCH 05/23] fix typo --- docs/validators.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/validators.rst b/docs/validators.rst index 893ea7d13..e230bce3e 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -22,7 +22,7 @@ How to become validator in testnet 1. Install and run Minter Full Node. See :ref:`install-minter`. Make sure your node successfully synchronized. 2. Generate and install validator's key using our `tool `__. 3. Restart Minter Node and Tendermint. -4. To to `Vault `__ (you can receive testnet coins in our telegram wallet @BipWallet_Bot) and send 2 transactions: +4. Go to `Vault `__ (you can receive testnet coins in our telegram wallet @BipWallet_Bot) and send 2 transactions: Declare candidacy - Address - You will receive rewards to this address and will be able to on/off your validator. From 468abb7e1eff34c278e705db25d9f014981902dd Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Fri, 22 Jun 2018 21:17:24 +0300 Subject: [PATCH 06/23] prettify docs --- docs/validators.rst | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/validators.rst b/docs/validators.rst index e230bce3e..a35b8d946 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -19,10 +19,19 @@ Rules and fines How to become validator in testnet ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1. Install and run Minter Full Node. See :ref:`install-minter`. Make sure your node successfully synchronized. +1. Install and run Minter Full Node. + See :ref:`install-minter`. Make sure your node successfully synchronized. + 2. Generate and install validator's key using our `tool `__. + If you already have ``priv_validator.json`` file – just replace it with new one. + 3. Restart Minter Node and Tendermint. -4. Go to `Vault `__ (you can receive testnet coins in our telegram wallet @BipWallet_Bot) and send 2 transactions: + Restarting will apply changes to ``priv_validator.json`` file. + +4. Go to `Vault `__ and send 2 transactions: + Fill and send ``Declare candidacy`` and ``Set candidate online`` forms. + + P.S. You can receive testnet coins in our telegram wallet @BipWallet_Bot. Declare candidacy - Address - You will receive rewards to this address and will be able to on/off your validator. From 987498ea5a7fdf8b2dfa9a247d31b407f8cb080c Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Fri, 22 Jun 2018 21:23:08 +0300 Subject: [PATCH 07/23] prettify docs --- docs/validators.rst | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/validators.rst b/docs/validators.rst index a35b8d946..c17dca4cb 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -33,21 +33,21 @@ How to become validator in testnet P.S. You can receive testnet coins in our telegram wallet @BipWallet_Bot. -Declare candidacy - - Address - You will receive rewards to this address and will be able to on/off your validator. - - Public Key - Paste public key you created in step 2. - - Commission - Set commission for delegated stakes. - - Coin - Enter coin of your stake (MNT). - - Stake - Enter value of your stake in given coin. + 1. Declare candidacy + - Address - You will receive rewards to this address and will be able to on/off your validator. + - Public Key - Paste public key you created in step 2. + - Commission - Set commission for delegated stakes. + - Coin - Enter coin of your stake (MNT). + - Stake - Enter value of your stake in given coin. -.. figure:: assets/vault-declare.png - :width: 300px + .. figure:: assets/vault-declare.png + :width: 300px -Set candidate online - Public Key - Paste public key you created in step 2. + 2. Set candidate online + Public Key - Paste public key you created in step 2. -.. figure:: assets/vault-candidate-on.png - :width: 300px + .. figure:: assets/vault-candidate-on.png + :width: 300px 5. Done. Now you will receive reward as long as your node is running and available. From 89d0a1b95289bdfdefb87fb6f4e572d0b65a8fe5 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sat, 23 Jun 2018 08:40:35 +0300 Subject: [PATCH 08/23] no message --- docs/validators.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/validators.rst b/docs/validators.rst index c17dca4cb..e2640765c 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -31,6 +31,11 @@ How to become validator in testnet 4. Go to `Vault `__ and send 2 transactions: Fill and send ``Declare candidacy`` and ``Set candidate online`` forms. + If you cannot open Vault because of invalid certificate: + `reset HSTS `__ for domains + ``minter.network`` and ``vault.minter.network``. Then try to open + `HTTP version of Vault `__. + P.S. You can receive testnet coins in our telegram wallet @BipWallet_Bot. 1. Declare candidacy From e906927be57088103ce7fd3ea89e810eb2b849f8 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sat, 23 Jun 2018 08:51:28 +0300 Subject: [PATCH 09/23] validator's docs --- docs/running-in-production.rst | 2 +- docs/validators.rst | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/docs/running-in-production.rst b/docs/running-in-production.rst index 239c710d4..f0d407f10 100644 --- a/docs/running-in-production.rst +++ b/docs/running-in-production.rst @@ -76,7 +76,7 @@ Minimal requirements are: - 2GB RAM - 100GB of disk space -- 1.4 GHz CPU +- 1.4 GHz 2v CPU SSD disks are preferable for high transaction throughput. diff --git a/docs/validators.rst b/docs/validators.rst index e2640765c..3d7c8150a 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -4,11 +4,42 @@ Validators Introduction ^^^^^^^^^^^^ -... +The Minter Blockchain is based on Tendermint, which relies on a set of validators that are +responsible for committing new blocks in the blockchain. These validators participate in +the consensus protocol by broadcasting votes which contain cryptographic signatures signed +by each validator’s private key. + +Validator candidates can bond their own coins and have coins “delegated”, or staked, to them +by token holders. The validators are determined by who has the most stake delegated to them. + +Validators and their delegators will earn BIP (MNT) as. Note that validators can set +commission on the rewards their delegators receive as additional incentive. + +If validators double sign, are frequently offline or do not participate in governance, their +staked coins (including coins of users that delegated to them) can be slashed. The penalty +depends on the severity of the violation. Requirements ^^^^^^^^^^^^ +Minimal requirements for running Validator's Node are: + +- 2GB RAM +- 100GB of disk space +- 1.4 GHz 2v CPU + +SSD disks are preferable for high transaction throughput. + +Recommended: + +- 4GB RAM +- 200GB SSD +- x64 2.0 GHz 4v CPU + + +Rewards +^^^^^^^ + ... Rules and fines From f7b012f057144da45c98a251d0175e9400600e7d Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sat, 23 Jun 2018 08:58:01 +0300 Subject: [PATCH 10/23] doc fix --- docs/validators.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/validators.rst b/docs/validators.rst index 3d7c8150a..6e9bf1743 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -12,8 +12,8 @@ by each validator’s private key. Validator candidates can bond their own coins and have coins “delegated”, or staked, to them by token holders. The validators are determined by who has the most stake delegated to them. -Validators and their delegators will earn BIP (MNT) as. Note that validators can set -commission on the rewards their delegators receive as additional incentive. +Validators and their delegators will earn BIP (MNT) as rewards for blocks and commissions. Note +that validators can set commission on the rewards their delegators receive as additional incentive. If validators double sign, are frequently offline or do not participate in governance, their staked coins (including coins of users that delegated to them) can be slashed. The penalty From aea6e1bbc2f2692fc682c47d2ce324086db1e192 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sat, 23 Jun 2018 19:21:27 +0300 Subject: [PATCH 11/23] switch to tendermint 0.21.0 --- docker-compose.yml | 2 +- tests/acceptance/docker/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b1d7bbdb9..daf3d821e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: retries: 3 start_period: 30s tendermint: - image: tendermint/tendermint:0.20.0 + image: tendermint/tendermint:0.21.0 command: node --proxy_app=tcp://minter:46658 volumes: - ~/.tendermint:/tendermint diff --git a/tests/acceptance/docker/docker-compose.yml b/tests/acceptance/docker/docker-compose.yml index 8932a8778..6bc98e191 100644 --- a/tests/acceptance/docker/docker-compose.yml +++ b/tests/acceptance/docker/docker-compose.yml @@ -8,7 +8,7 @@ services: ports: - "8841:8841" tendermint: - image: tendermint/tendermint:0.20.0 + image: tendermint/tendermint:0.21.0 command: node --proxy_app=tcp://minter:46658 volumes: - ./data/.tendermint:/tendermint From d8aa6d7f9e2a3bf2643e57b067517f57ebd46e79 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sat, 23 Jun 2018 22:39:54 +0300 Subject: [PATCH 12/23] switch to tendermint 0.21.0 --- Gopkg.lock | 10 +++++----- Gopkg.toml | 10 +--------- README.md | 2 +- docs/install.rst | 4 ++-- 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index cf6c5cfaf..4445c4a24 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -177,8 +177,8 @@ "server", "types" ] - revision = "ebee2fe114020aa49c70bbbae50b7079fc7e7b90" - version = "v0.11.0" + revision = "198dccf0ddfd1bb176f87657e3286a05a6ed9540" + version = "v0.12.0" [[projects]] branch = "master" @@ -218,8 +218,8 @@ "state", "types" ] - revision = "27bd1deabe4ba6a2d9b463b8f3e3f1e31b993e61" - version = "v0.20.0" + revision = "46369a1ab76f274ab47179c4176221842b8207b4" + version = "v0.21.0" [[projects]] name = "github.com/tendermint/tmlibs" @@ -328,6 +328,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "f006bf5d440d6988bcceadd32a6b6c6eaccde535099f759f50b3590f9f709327" + inputs-digest = "8ed38a47ca9d158715b1cb9869acd30f39903615a2ef1ae547a837a1b354e944" solver-name = "gps-cdcl" solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index 5fb4baf24..e804743bd 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -57,17 +57,9 @@ branch = "master" name = "github.com/syndtr/goleveldb" -[[constraint]] - name = "github.com/tendermint/abci" - version = "0.11.0" - [[constraint]] name = "github.com/tendermint/tendermint" - version = "0.20.0" - -[[constraint]] - name = "github.com/tendermint/tmlibs" - version = "0.8.4" + version = "0.21.0" [[constraint]] branch = "v2" diff --git a/README.md b/README.md index dbb4fa278..78092b389 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ $ docker-compose up You'll need **go** [installed](https://golang.org/doc/install) and the required [environment variables set](https://github.com/tendermint/tendermint/wiki/Setting-GOPATH) -1. Install [Tendermint 0.20](https://github.com/tendermint/tendermint/blob/master/docs/install.rst) +1. Install [Tendermint 0.21.0](https://github.com/tendermint/tendermint/blob/master/docs/install.rst) 2. Clone Minter to your machine ```bash diff --git a/docs/install.rst b/docs/install.rst index ec51d03f6..efd74ad6e 100755 --- a/docs/install.rst +++ b/docs/install.rst @@ -49,8 +49,8 @@ From Source You'll need ``go`` `installed `__ and the required `environment variables set `__ -Install Tendermint 0.20 -^^^^^^^^^^^^^^^^^^^^^^^ +Install Tendermint 0.21.0 +^^^^^^^^^^^^^^^^^^^^^^^^^ `Read official instructions `__ Clone Minter source code to your machine From 835cfaa73e90da819ad901aec527db77bb222f44 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sun, 24 Jun 2018 09:11:19 +0300 Subject: [PATCH 13/23] doc fix --- docs/validators.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/validators.rst b/docs/validators.rst index 6e9bf1743..70948cb2f 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -69,7 +69,7 @@ How to become validator in testnet P.S. You can receive testnet coins in our telegram wallet @BipWallet_Bot. - 1. Declare candidacy + 4.1. Declare candidacy - Address - You will receive rewards to this address and will be able to on/off your validator. - Public Key - Paste public key you created in step 2. - Commission - Set commission for delegated stakes. @@ -79,8 +79,10 @@ How to become validator in testnet .. figure:: assets/vault-declare.png :width: 300px - 2. Set candidate online - Public Key - Paste public key you created in step 2. + 4.2. Set candidate online + Public Key - Paste public key you created in step 4.2. + + *Note: You should send transaction from address you choose in Address field in step 4.2* .. figure:: assets/vault-candidate-on.png :width: 300px From 17838c9fa3ee1772df975b0f5e5c18b5dbbb0aac Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sun, 24 Jun 2018 09:14:00 +0300 Subject: [PATCH 14/23] doc fix --- docs/validators.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/validators.rst b/docs/validators.rst index 70948cb2f..bd9ce43d0 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -71,7 +71,7 @@ How to become validator in testnet 4.1. Declare candidacy - Address - You will receive rewards to this address and will be able to on/off your validator. - - Public Key - Paste public key you created in step 2. + - Public Key - Paste public key you created in step 2 *(Mp...)*. - Commission - Set commission for delegated stakes. - Coin - Enter coin of your stake (MNT). - Stake - Enter value of your stake in given coin. @@ -80,7 +80,7 @@ How to become validator in testnet :width: 300px 4.2. Set candidate online - Public Key - Paste public key you created in step 4.2. + Public Key - Paste public key you created in step 2 *(Mp...)*. *Note: You should send transaction from address you choose in Address field in step 4.2* From b948efe55139ca09122d3909729915fd6df89d47 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sun, 24 Jun 2018 11:22:19 +0300 Subject: [PATCH 15/23] push new version and change validator's logic --- core/minter/minter.go | 34 ++++++++++++++++++++-------------- core/state/statedb.go | 2 +- networks/testnet/genesis.json | 2 +- version/version.go | 4 ++-- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/core/minter/minter.go b/core/minter/minter.go index b797fcf41..9c4daadfe 100644 --- a/core/minter/minter.go +++ b/core/minter/minter.go @@ -24,18 +24,23 @@ import ( type Blockchain struct { abciTypes.BaseApplication - db *mintdb.LDBDatabase - stateDeliver *state.StateDB - stateCheck *state.StateDB - rootHash types.Hash - height uint64 - rewards *big.Int - activeValidators abciTypes.Validators - absentCandidates map[string]bool + db *mintdb.LDBDatabase + stateDeliver *state.StateDB + stateCheck *state.StateDB + rootHash types.Hash + height uint64 + rewards *big.Int + activeValidators abciTypes.Validators + validatorsStatuses map[string]int8 BaseCoin types.CoinSymbol } +const ( + ValidatorPresent = 1 + ValidatorAbsent = 2 +) + var ( blockchain *Blockchain @@ -101,15 +106,16 @@ func (app *Blockchain) BeginBlock(req abciTypes.RequestBeginBlock) abciTypes.Res app.rewards = big.NewInt(0) // clear absent candidates - app.absentCandidates = make(map[string]bool) + app.validatorsStatuses = make(map[string]int8) // give penalty to absent validators for _, v := range req.Validators { if v.SignedLastBlock { app.stateDeliver.SetValidatorPresent(v.Validator.PubKey.Data) + app.validatorsStatuses[v.Validator.PubKey.String()] = ValidatorPresent } else { app.stateDeliver.SetValidatorAbsent(v.Validator.PubKey.Data) - app.absentCandidates[v.Validator.PubKey.String()] = true + app.validatorsStatuses[v.Validator.PubKey.String()] = ValidatorAbsent } } @@ -155,8 +161,8 @@ func (app *Blockchain) EndBlock(req abciTypes.RequestEndBlock) abciTypes.Respons totalPower := big.NewInt(0) for _, candidate := range newCandidates { - // skip if candidate is absent - if app.absentCandidates[candidate.PubKey.String()] { + // skip if candidate is not present + if app.validatorsStatuses[candidate.PubKey.String()] != ValidatorPresent { continue } @@ -166,8 +172,8 @@ func (app *Blockchain) EndBlock(req abciTypes.RequestEndBlock) abciTypes.Respons // accumulate rewards for _, candidate := range newCandidates { - // skip if candidate is absent - if app.absentCandidates[candidate.PubKey.String()] { + // skip if candidate is not present + if app.validatorsStatuses[candidate.PubKey.String()] != ValidatorPresent { continue } diff --git a/core/state/statedb.go b/core/state/statedb.go index 7d543c477..b7c30188e 100644 --- a/core/state/statedb.go +++ b/core/state/statedb.go @@ -698,7 +698,7 @@ func (s *StateDB) GetValidators(count int) ([]abci.Validator, []Candidate) { } for i := range activeCandidates[:count] { - power := big.NewInt(0).Div(big.NewInt(0).Mul(activeCandidates[i].TotalBipStake, big.NewInt(10000)), totalPower) + power := big.NewInt(0).Div(big.NewInt(0).Mul(activeCandidates[i].TotalBipStake, big.NewInt(100000000)), totalPower) validators[i] = abci.Ed25519Validator(activeCandidates[i].PubKey, power.Int64()) } diff --git a/networks/testnet/genesis.json b/networks/testnet/genesis.json index a5c1310db..68e7616fa 100644 --- a/networks/testnet/genesis.json +++ b/networks/testnet/genesis.json @@ -1,6 +1,6 @@ { "genesis_time": "2018-06-09T00:00:00Z", - "chain_id": "minter-test-network-6", + "chain_id": "minter-test-network-7", "validators": [ { "pub_key": { diff --git a/version/version.go b/version/version.go index 692475037..9fec7ece4 100755 --- a/version/version.go +++ b/version/version.go @@ -4,13 +4,13 @@ package version const ( Maj = "0" Min = "0" - Fix = "3" + Fix = "4" ) var ( // Version is the current version of Tendermint // Must be a string because scripts like dist.sh read this file. - Version = "0.0.3" + Version = "0.0.4" // GitCommit is the current HEAD set using ldflags. GitCommit string From e0349e3ad54a2f99df70476422421db2195ab607 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sun, 24 Jun 2018 11:55:59 +0300 Subject: [PATCH 16/23] pay rewards once per 12 blocks --- core/minter/minter.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/minter/minter.go b/core/minter/minter.go index 9c4daadfe..8326c8ae5 100644 --- a/core/minter/minter.go +++ b/core/minter/minter.go @@ -188,7 +188,7 @@ func (app *Blockchain) EndBlock(req abciTypes.RequestEndBlock) abciTypes.Respons } // pay rewards - if app.height%5 == 0 { + if app.height%12 == 0 { app.stateDeliver.PayRewards() } From 82f599326ed5a4a34375aaf37693d8d98d97f194 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sun, 24 Jun 2018 12:09:17 +0300 Subject: [PATCH 17/23] add validators rewards block to docs --- docs/validators.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/validators.rst b/docs/validators.rst index bd9ce43d0..c9a1b47d0 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -40,7 +40,13 @@ Recommended: Rewards ^^^^^^^ -... +Rewards for blocks and commissions are accumulated and proportionally (based on stake value) +payed once per 12 blocks (approx 1 minute) to all active validators (and their delegators). + +Delegators receive their rewards at the same time after paying commission to their validators +(commission value is based on validator's settings). + +5% from reward going to DAO account. Rules and fines ^^^^^^^^^^^^^^^ From d74411e99453a92c07bd26caadf69d2e2311f236 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sun, 24 Jun 2018 20:26:11 +0300 Subject: [PATCH 18/23] update changelog --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 825c32f0d..866ac6e51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1 +1,20 @@ # Changelog + +## 0.0.4 + +*June 24th, 2018* + +BREAKING CHANGES + +- [validators] Reward now is payed each 12 blocks +- [validators] Change total "validators' power" to 100 mln +- [tendermint] Switched to v0.21.0 +- [testnet] New testnet chain id + +IMPROVEMENT + +- [docs] Updated docks + +BUG FIXES + +- [validators] Fixed issue with incorrect pubkey length From 9927fa07b15a96f2edaa6c1cf7720e3677390c0c Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Sun, 24 Jun 2018 20:56:45 +0300 Subject: [PATCH 19/23] fix typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 866ac6e51..51d99e39e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ BREAKING CHANGES IMPROVEMENT -- [docs] Updated docks +- [docs] Updated docs BUG FIXES From 0fd99f846e29561a56ffa0617a621e38d812bf9a Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Mon, 25 Jun 2018 12:40:00 +0300 Subject: [PATCH 20/23] add troubleshooting section --- docs/install.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/install.rst b/docs/install.rst index efd74ad6e..ba587ccd3 100755 --- a/docs/install.rst +++ b/docs/install.rst @@ -124,3 +124,13 @@ Run Minter :lineno-start: 13 minter + +Troubleshooting +--------------- + +Too many open files (24) +^^^^^^^^^^^^^^^^^^^^^^^^ + +Tendermint sometimes is very resource-demanding in terms of "max open files limit". If your +instance is constantly shutting down after working couple minutes - try to increase open files limit: +``__ From b54baa1fec3c8704668d497e55f4c859c6fd7200 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Mon, 25 Jun 2018 12:50:53 +0300 Subject: [PATCH 21/23] add validators transaction explanation --- docs/validators.rst | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/validators.rst b/docs/validators.rst index c9a1b47d0..8b7c3318a 100755 --- a/docs/validators.rst +++ b/docs/validators.rst @@ -76,6 +76,9 @@ How to become validator in testnet P.S. You can receive testnet coins in our telegram wallet @BipWallet_Bot. 4.1. Declare candidacy + Validators should declare their candidacy, after which users can delegate + and, if they so wish, unbond. Then declaring candidacy validator should fill a form: + - Address - You will receive rewards to this address and will be able to on/off your validator. - Public Key - Paste public key you created in step 2 *(Mp...)*. - Commission - Set commission for delegated stakes. @@ -86,7 +89,12 @@ How to become validator in testnet :width: 300px 4.2. Set candidate online - Public Key - Paste public key you created in step 2 *(Mp...)*. + Validator is **offline** by default. When offline, validator is not included in the list of + Minter Blockchain validators, so he is not receiving any rewards and cannot be punished + for low availability. + + To turn your validator **on**, you should provide Public Key (which you created in step + 2 *(Mp...)*). *Note: You should send transaction from address you choose in Address field in step 4.2* From 52acabc8a7041ae75614a4362e427ae8db6800bd Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Mon, 25 Jun 2018 16:07:11 +0300 Subject: [PATCH 22/23] fix validators availability issue, change api block response --- CHANGELOG.md | 1 + api/block.go | 57 ++++++++++++++++++++++++++++++++++++++++++- api/transaction.go | 13 +--------- api/transactions.go | 3 +-- core/minter/minter.go | 13 +++++----- 5 files changed, 66 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51d99e39e..ab41a4311 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ BREAKING CHANGES - [validators] Change total "validators' power" to 100 mln - [tendermint] Switched to v0.21.0 - [testnet] New testnet chain id +- [api] Changed */api/block* response format IMPROVEMENT diff --git a/api/block.go b/api/block.go index ec9f15741..cb97ad206 100644 --- a/api/block.go +++ b/api/block.go @@ -2,12 +2,39 @@ package api import ( "encoding/json" + "fmt" + "github.com/MinterTeam/minter-go-node/core/transaction" "github.com/gorilla/mux" "github.com/tendermint/tendermint/rpc/core/types" + "github.com/tendermint/tendermint/types" + "github.com/tendermint/tmlibs/common" + "math/big" "net/http" "strconv" + "time" ) +type BlockResponse struct { + Hash common.HexBytes `json:"hash"` + Height int64 `json:"height"` + Time time.Time `json:"time"` + NumTxs int64 `json:"num_txs"` + TotalTxs int64 `json:"total_txs"` + Transactions []BlockTransactionResponse `json:"transactions"` + Precommits []*types.Vote `json:"precommits"` +} + +type BlockTransactionResponse struct { + Hash string `json:"hash"` + From string `json:"from"` + Nonce uint64 `json:"nonce"` + GasPrice *big.Int `json:"gasPrice"` + Type byte `json:"type"` + Data transaction.Data `json:"data"` + Payload []byte `json:"payload"` + ServiceData []byte `json:"serviceData"` +} + func Block(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) @@ -31,9 +58,37 @@ func Block(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) + txs := make([]BlockTransactionResponse, len(result.Block.Data.Txs)) + + for i, rawTx := range result.Block.Data.Txs { + tx, _ := transaction.DecodeFromBytes(rawTx) + sender, _ := tx.Sender() + + txs[i] = BlockTransactionResponse{ + Hash: fmt.Sprintf("Mt%x", types.Tx(rawTx).Hash()), + From: sender.String(), + Nonce: tx.Nonce, + GasPrice: tx.GasPrice, + Type: tx.Type, + Data: tx.GetDecodedData(), + Payload: tx.Payload, + ServiceData: tx.ServiceData, + } + } + + response := BlockResponse{ + Hash: result.Block.Hash(), + Height: result.Block.Height, + Time: result.Block.Time, + NumTxs: result.Block.NumTxs, + TotalTxs: result.Block.TotalTxs, + Precommits: result.Block.LastCommit.Precommits, + Transactions: txs, + } + err = json.NewEncoder(w).Encode(Response{ Code: 0, - Result: result, + Result: response, }) if err != nil { diff --git a/api/transaction.go b/api/transaction.go index bf2762182..307721ef8 100644 --- a/api/transaction.go +++ b/api/transaction.go @@ -4,29 +4,18 @@ import ( "encoding/hex" "encoding/json" "github.com/gorilla/mux" - abci "github.com/tendermint/abci/types" "github.com/tendermint/tendermint/types" - "github.com/tendermint/tmlibs/common" "net/http" "strings" ) -type ResTx struct { - Hash common.HexBytes `json:"hash"` - Height int64 `json:"height"` - Index uint32 `json:"index"` - TxResult abci.ResponseDeliverTx `json:"tx_result"` - Tx types.Tx `json:"tx"` - Proof types.TxProof `json:"proof,omitempty"` -} - func Transaction(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) hash := strings.TrimRight(vars["hash"], "Mt") decoded, err := hex.DecodeString(hash) - result := new(ResTx) + result := new(types.TxResult) _, err = client.Call("tx", map[string]interface{}{ "hash": decoded, }, result) diff --git a/api/transactions.go b/api/transactions.go index 5cc0ca1f2..f8c4b828e 100644 --- a/api/transactions.go +++ b/api/transactions.go @@ -64,8 +64,7 @@ func Transactions(w http.ResponseWriter, r *http.Request) { result := make([]TransactionResponse, len(rpcResult.Txs)) - for i := range rpcResult.Txs { - tx := rpcResult.Txs[i] + for i, tx := range rpcResult.Txs { decodedTx, _ := transaction.DecodeFromBytes(tx.Tx) sender, _ := decodedTx.Sender() diff --git a/core/minter/minter.go b/core/minter/minter.go index 8326c8ae5..0c1a918f6 100644 --- a/core/minter/minter.go +++ b/core/minter/minter.go @@ -106,16 +106,18 @@ func (app *Blockchain) BeginBlock(req abciTypes.RequestBeginBlock) abciTypes.Res app.rewards = big.NewInt(0) // clear absent candidates - app.validatorsStatuses = make(map[string]int8) + app.validatorsStatuses = map[string]int8{} // give penalty to absent validators for _, v := range req.Validators { + pubkey := types.Pubkey(v.Validator.PubKey.Data) + if v.SignedLastBlock { - app.stateDeliver.SetValidatorPresent(v.Validator.PubKey.Data) - app.validatorsStatuses[v.Validator.PubKey.String()] = ValidatorPresent + app.stateDeliver.SetValidatorPresent(pubkey) + app.validatorsStatuses[pubkey.String()] = ValidatorPresent } else { - app.stateDeliver.SetValidatorAbsent(v.Validator.PubKey.Data) - app.validatorsStatuses[v.Validator.PubKey.String()] = ValidatorAbsent + app.stateDeliver.SetValidatorAbsent(pubkey) + app.validatorsStatuses[pubkey.String()] = ValidatorAbsent } } @@ -160,7 +162,6 @@ func (app *Blockchain) EndBlock(req abciTypes.RequestEndBlock) abciTypes.Respons // calculate total power of validators totalPower := big.NewInt(0) for _, candidate := range newCandidates { - // skip if candidate is not present if app.validatorsStatuses[candidate.PubKey.String()] != ValidatorPresent { continue From c9c2abb91bb98596e5467afca2146efb2128eee8 Mon Sep 17 00:00:00 2001 From: Daniil Lashin Date: Tue, 26 Jun 2018 09:59:53 +0300 Subject: [PATCH 23/23] fix minter version in docker-compose --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index daf3d821e..1d141d3d3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.4" services: minter: - image: minterteam/minter:latest + image: minterteam/minter:0.0.4 command: --tendermint_addr=tcp://tendermint:46657 volumes: - ~/.minter:/minter