Release/v0.22.1pull/1971/head v0.22.1
@ -1,294 +0,0 @@ | |||||
ABCI Specification | |||||
================== | |||||
NOTE: this file has moved to `specification.md <./specification.md>`__. It is left to prevent link breakages for the forseable future. It can safely be deleted in a few months. | |||||
Message Types | |||||
~~~~~~~~~~~~~ | |||||
ABCI requests/responses are defined as simple Protobuf messages in `this | |||||
schema | |||||
file <https://github.com/tendermint/abci/blob/master/types/types.proto>`__. | |||||
TendermintCore sends the requests, and the ABCI application sends the | |||||
responses. Here, we provide an overview of the messages types and how they | |||||
are used by Tendermint. Then we describe each request-response pair as a | |||||
function with arguments and return values, and add some notes on usage. | |||||
Some messages (``Echo, Info, InitChain, BeginBlock, EndBlock, Commit``), don't | |||||
return errors because an error would indicate a critical failure in the | |||||
application and there's nothing Tendermint can do. The problem should be | |||||
addressed and both Tendermint and the application restarted. All other | |||||
messages (``SetOption, Query, CheckTx, DeliverTx``) return an | |||||
application-specific response ``Code uint32``, where only ``0`` is reserved for | |||||
``OK``. | |||||
Some messages (``SetOption, Query, CheckTx, DeliverTx``) return | |||||
non-deterministic data in the form of ``Info`` and ``Log``. The ``Log`` is | |||||
intended for the literal output from the application's logger, while the | |||||
``Info`` is any additional info that should be returned. | |||||
The first time a new blockchain is started, Tendermint calls ``InitChain``. | |||||
From then on, the Block Execution Sequence that causes the committed state to | |||||
be updated is as follows: | |||||
``BeginBlock, [DeliverTx], EndBlock, Commit`` | |||||
where one ``DeliverTx`` is called for each transaction in the block. | |||||
Cryptographic commitments to the results of DeliverTx, EndBlock, and | |||||
Commit are included in the header of the next block. | |||||
Tendermint opens three connections to the application to handle the different message | |||||
types: | |||||
- ``Consensus Connection - InitChain, BeginBlock, DeliverTx, EndBlock, Commit`` | |||||
- ``Mempool Connection - CheckTx`` | |||||
- ``Info Connection - Info, SetOption, Query`` | |||||
The ``Flush`` message is used on every connection, and the ``Echo`` message | |||||
is only used for debugging. | |||||
Note that messages may be sent concurrently across all connections - | |||||
a typical application will thus maintain a distinct state for each | |||||
connection. They may be referred to as the ``DeliverTx state``, the | |||||
``CheckTx state``, and the ``Commit state`` respectively. | |||||
See below for more details on the message types and how they are used. | |||||
Echo | |||||
^^^^ | |||||
- **Arguments**: | |||||
- ``Message (string)``: A string to echo back | |||||
- **Returns**: | |||||
- ``Message (string)``: The input string | |||||
- **Usage**: | |||||
- Echo a string to test an abci client/server implementation | |||||
Flush | |||||
^^^^^ | |||||
- **Usage**: | |||||
- Signals that messages queued on the client should be flushed to | |||||
the server. It is called periodically by the client implementation | |||||
to ensure asynchronous requests are actually sent, and is called | |||||
immediately to make a synchronous request, which returns when the | |||||
Flush response comes back. | |||||
Info | |||||
^^^^ | |||||
- **Arguments**: | |||||
- ``Version (string)``: The Tendermint version | |||||
- **Returns**: | |||||
- ``Data (string)``: Some arbitrary information | |||||
- ``Version (Version)``: Version information | |||||
- ``LastBlockHeight (int64)``: Latest block for which the app has | |||||
called Commit | |||||
- ``LastBlockAppHash ([]byte)``: Latest result of Commit | |||||
- **Usage**: | |||||
- Return information about the application state. | |||||
- Used to sync Tendermint with the application during a handshake that | |||||
happens on startup. | |||||
- Tendermint expects ``LastBlockAppHash`` and ``LastBlockHeight`` to be | |||||
updated during ``Commit``, ensuring that ``Commit`` is never called twice | |||||
for the same block height. | |||||
SetOption | |||||
^^^^^^^^^ | |||||
- **Arguments**: | |||||
- ``Key (string)``: Key to set | |||||
- ``Value (string)``: Value to set for key | |||||
- **Returns**: | |||||
- ``Code (uint32)``: Response code | |||||
- ``Log (string)``: The output of the application's logger. May be non-deterministic. | |||||
- ``Info (string)``: Additional information. May be non-deterministic. | |||||
- **Usage**: | |||||
- Set non-consensus critical application specific options. | |||||
- e.g. Key="min-fee", Value="100fermion" could set the minimum fee required for CheckTx | |||||
(but not DeliverTx - that would be consensus critical). | |||||
InitChain | |||||
^^^^^^^^^ | |||||
- **Arguments**: | |||||
- ``Validators ([]Validator)``: Initial genesis validators | |||||
- ``AppStateBytes ([]byte)``: Serialized initial application state | |||||
- **Usage**: | |||||
- Called once upon genesis. | |||||
Query | |||||
^^^^^ | |||||
- **Arguments**: | |||||
- ``Data ([]byte)``: Raw query bytes. Can be used with or in lieu of | |||||
Path. | |||||
- ``Path (string)``: Path of request, like an HTTP GET path. Can be | |||||
used with or in liue of Data. | |||||
- Apps MUST interpret '/store' as a query by key on the underlying | |||||
store. The key SHOULD be specified in the Data field. | |||||
- Apps SHOULD allow queries over specific types like '/accounts/...' | |||||
or '/votes/...' | |||||
- ``Height (int64)``: The block height for which you want the query | |||||
(default=0 returns data for the latest committed block). Note that | |||||
this is the height of the block containing the application's | |||||
Merkle root hash, which represents the state as it was after | |||||
committing the block at Height-1 | |||||
- ``Prove (bool)``: Return Merkle proof with response if possible | |||||
- **Returns**: | |||||
- ``Code (uint32)``: Response code. | |||||
- ``Log (string)``: The output of the application's logger. May be non-deterministic. | |||||
- ``Info (string)``: Additional information. May be non-deterministic. | |||||
- ``Index (int64)``: The index of the key in the tree. | |||||
- ``Key ([]byte)``: The key of the matching data. | |||||
- ``Value ([]byte)``: The value of the matching data. | |||||
- ``Proof ([]byte)``: Proof for the data, if requested. | |||||
- ``Height (int64)``: The block height from which data was derived. | |||||
Note that this is the height of the block containing the | |||||
application's Merkle root hash, which represents the state as it | |||||
was after committing the block at Height-1 | |||||
- **Usage**: | |||||
- Query for data from the application at current or past height. | |||||
- Optionally return Merkle proof. | |||||
BeginBlock | |||||
^^^^^^^^^^ | |||||
- **Arguments**: | |||||
- ``Hash ([]byte)``: The block's hash. This can be derived from the | |||||
block header. | |||||
- ``Header (struct{})``: The block header | |||||
- ``AbsentValidators ([]int32)``: List of indices of validators not | |||||
included in the LastCommit | |||||
- ``ByzantineValidators ([]Evidence)``: List of evidence of | |||||
validators that acted maliciously | |||||
- **Usage**: | |||||
- Signals the beginning of a new block. Called prior to any DeliverTxs. | |||||
- The header is expected to at least contain the Height. | |||||
- The ``AbsentValidators`` and ``ByzantineValidators`` can be used to | |||||
determine rewards and punishments for the validators. | |||||
CheckTx | |||||
^^^^^^^ | |||||
- **Arguments**: | |||||
- ``Tx ([]byte)``: The request transaction bytes | |||||
- **Returns**: | |||||
- ``Code (uint32)``: Response code | |||||
- ``Data ([]byte)``: Result bytes, if any. | |||||
- ``Log (string)``: The output of the application's logger. May be non-deterministic. | |||||
- ``Info (string)``: Additional information. May be non-deterministic. | |||||
- ``GasWanted (int64)``: Amount of gas request for transaction. | |||||
- ``GasUsed (int64)``: Amount of gas consumed by transaction. | |||||
- ``Tags ([]cmn.KVPair)``: Key-Value tags for filtering and indexing transactions (eg. by account). | |||||
- ``Fee (cmn.KI64Pair)``: Fee paid for the transaction. | |||||
- **Usage**: Validate a mempool transaction, prior to broadcasting or | |||||
proposing. CheckTx should perform stateful but light-weight checks | |||||
of the validity of the transaction (like checking signatures and account balances), | |||||
but need not execute in full (like running a smart contract). | |||||
Tendermint runs CheckTx and DeliverTx concurrently with eachother, | |||||
though on distinct ABCI connections - the mempool connection and the consensus | |||||
connection, respectively. | |||||
The application should maintain a separate state to support CheckTx. | |||||
This state can be reset to the latest committed state during ``Commit``, | |||||
where Tendermint ensures the mempool is locked and not sending new ``CheckTx``. | |||||
After ``Commit``, the mempool will rerun CheckTx on all remaining | |||||
transactions, throwing out any that are no longer valid. | |||||
Keys and values in Tags must be UTF-8 encoded strings (e.g. "account.owner": "Bob", "balance": "100.0", "date": "2018-01-02") | |||||
DeliverTx | |||||
^^^^^^^^^ | |||||
- **Arguments**: | |||||
- ``Tx ([]byte)``: The request transaction bytes. | |||||
- **Returns**: | |||||
- ``Code (uint32)``: Response code. | |||||
- ``Data ([]byte)``: Result bytes, if any. | |||||
- ``Log (string)``: The output of the application's logger. May be non-deterministic. | |||||
- ``Info (string)``: Additional information. May be non-deterministic. | |||||
- ``GasWanted (int64)``: Amount of gas requested for transaction. | |||||
- ``GasUsed (int64)``: Amount of gas consumed by transaction. | |||||
- ``Tags ([]cmn.KVPair)``: Key-Value tags for filtering and indexing transactions (eg. by account). | |||||
- ``Fee (cmn.KI64Pair)``: Fee paid for the transaction. | |||||
- **Usage**: | |||||
- Deliver a transaction to be executed in full by the application. If the transaction is valid, | |||||
returns CodeType.OK. | |||||
- Keys and values in Tags must be UTF-8 encoded strings (e.g. "account.owner": "Bob", "balance": "100.0", "time": "2018-01-02T12:30:00Z") | |||||
EndBlock | |||||
^^^^^^^^ | |||||
- **Arguments**: | |||||
- ``Height (int64)``: Height of the block just executed. | |||||
- **Returns**: | |||||
- ``ValidatorUpdates ([]Validator)``: Changes to validator set (set | |||||
voting power to 0 to remove). | |||||
- ``ConsensusParamUpdates (ConsensusParams)``: Changes to | |||||
consensus-critical time, size, and other parameters. | |||||
- **Usage**: | |||||
- Signals the end of a block. | |||||
- Called prior to each Commit, after all transactions. | |||||
- Validator set and consensus params are updated with the result. | |||||
- Validator pubkeys are expected to be go-wire encoded. | |||||
Commit | |||||
^^^^^^ | |||||
- **Returns**: | |||||
- ``Data ([]byte)``: The Merkle root hash | |||||
- **Usage**: | |||||
- Persist the application state. | |||||
- Return a Merkle root hash of the application state. | |||||
- It's critical that all application instances return the same hash. If not, | |||||
they will not be able to agree on the next block, because the hash is | |||||
included in the next block! |
@ -1,137 +0,0 @@ | |||||
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/btcsuite/btcd" | |||||
packages = ["btcec"] | |||||
revision = "86fed781132ac890ee03e906e4ecd5d6fa180c64" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/btcsuite/btcutil" | |||||
packages = ["base58"] | |||||
revision = "d4cc87b860166d00d6b5b9e0d3b3d71d6088d4d4" | |||||
[[projects]] | |||||
name = "github.com/davecgh/go-spew" | |||||
packages = ["spew"] | |||||
revision = "346938d642f2ec3594ed81d874461961cd0faa76" | |||||
version = "v1.1.0" | |||||
[[projects]] | |||||
name = "github.com/go-kit/kit" | |||||
packages = [ | |||||
"log", | |||||
"log/level", | |||||
"log/term" | |||||
] | |||||
revision = "4dc7be5d2d12881735283bcab7352178e190fc71" | |||||
version = "v0.6.0" | |||||
[[projects]] | |||||
name = "github.com/go-logfmt/logfmt" | |||||
packages = ["."] | |||||
revision = "390ab7935ee28ec6b286364bba9b4dd6410cb3d5" | |||||
version = "v0.3.0" | |||||
[[projects]] | |||||
name = "github.com/go-stack/stack" | |||||
packages = ["."] | |||||
revision = "259ab82a6cad3992b4e21ff5cac294ccb06474bc" | |||||
version = "v1.7.0" | |||||
[[projects]] | |||||
name = "github.com/gogo/protobuf" | |||||
packages = [ | |||||
"gogoproto", | |||||
"proto", | |||||
"protoc-gen-gogo/descriptor" | |||||
] | |||||
revision = "1adfc126b41513cc696b209667c8656ea7aac67c" | |||||
version = "v1.0.0" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/kr/logfmt" | |||||
packages = ["."] | |||||
revision = "b84e30acd515aadc4b783ad4ff83aff3299bdfe0" | |||||
[[projects]] | |||||
name = "github.com/pkg/errors" | |||||
packages = ["."] | |||||
revision = "645ef00459ed84a119197bfb8d8205042c6df63d" | |||||
version = "v0.8.0" | |||||
[[projects]] | |||||
name = "github.com/pmezard/go-difflib" | |||||
packages = ["difflib"] | |||||
revision = "792786c7400a136282c1664665ae0a8db921c6c2" | |||||
version = "v1.0.0" | |||||
[[projects]] | |||||
name = "github.com/stretchr/testify" | |||||
packages = [ | |||||
"assert", | |||||
"require" | |||||
] | |||||
revision = "f35b8ab0b5a2cef36673838d662e249dd9c94686" | |||||
version = "v1.2.2" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/tendermint/ed25519" | |||||
packages = [ | |||||
".", | |||||
"edwards25519", | |||||
"extra25519" | |||||
] | |||||
revision = "d8387025d2b9d158cf4efb07e7ebf814bcce2057" | |||||
[[projects]] | |||||
name = "github.com/tendermint/go-amino" | |||||
packages = ["."] | |||||
revision = "2106ca61d91029c931fd54968c2bb02dc96b1412" | |||||
version = "0.10.1" | |||||
[[projects]] | |||||
name = "github.com/tendermint/tmlibs" | |||||
packages = [ | |||||
"common", | |||||
"log", | |||||
"test" | |||||
] | |||||
revision = "692f1d86a6e2c0efa698fd1e4541b68c74ffaf38" | |||||
version = "v0.8.4" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "golang.org/x/crypto" | |||||
packages = [ | |||||
"bcrypt", | |||||
"blowfish", | |||||
"chacha20poly1305", | |||||
"hkdf", | |||||
"internal/chacha20", | |||||
"internal/subtle", | |||||
"nacl/secretbox", | |||||
"openpgp/armor", | |||||
"openpgp/errors", | |||||
"poly1305", | |||||
"ripemd160", | |||||
"salsa20/salsa" | |||||
] | |||||
revision = "7f39a6fea4fe9364fb61e1def6a268a51b4f3a06" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "golang.org/x/sys" | |||||
packages = ["cpu"] | |||||
revision = "ad87a3a340fa7f3bed189293fbfa7a9b7e021ae1" | |||||
[solve-meta] | |||||
analyzer-name = "dep" | |||||
analyzer-version = 1 | |||||
inputs-digest = "027b22b86396a971d5d5c1d298947f531f39743975d65a22e98601140aa1b1a1" | |||||
solver-name = "gps-cdcl" | |||||
solver-version = 1 |
@ -1,49 +0,0 @@ | |||||
# Gopkg.toml example | |||||
# | |||||
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md | |||||
# for detailed Gopkg.toml documentation. | |||||
# | |||||
# required = ["github.com/user/thing/cmd/thing"] | |||||
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] | |||||
# | |||||
# [[constraint]] | |||||
# name = "github.com/user/project" | |||||
# version = "1.0.0" | |||||
# | |||||
# [[constraint]] | |||||
# name = "github.com/user/project2" | |||||
# branch = "dev" | |||||
# source = "github.com/myfork/project2" | |||||
# | |||||
# [[override]] | |||||
# name = "github.com/x/y" | |||||
# version = "2.4.0" | |||||
# | |||||
# [prune] | |||||
# non-go = false | |||||
# go-tests = true | |||||
# unused-packages = true | |||||
[[constraint]] | |||||
name = "github.com/btcsuite/btcutil" | |||||
branch = "master" | |||||
[[constraint]] | |||||
name = "github.com/stretchr/testify" | |||||
version = "1.2.1" | |||||
[[constraint]] | |||||
name = "github.com/tendermint/ed25519" | |||||
branch = "master" | |||||
[[constraint]] | |||||
name = "github.com/tendermint/go-amino" | |||||
version = "0.10.0-rc2" | |||||
[[constraint]] | |||||
name = "github.com/tendermint/tmlibs" | |||||
version = "0.8.1" | |||||
[prune] | |||||
go-tests = true | |||||
unused-packages = true |
@ -1,193 +0,0 @@ | |||||
Tendermint Go-Crypto | |||||
Copyright (C) 2015 Tendermint | |||||
Apache License | |||||
Version 2.0, January 2004 | |||||
https://www.apache.org/licenses/ | |||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | |||||
1. Definitions. | |||||
"License" shall mean the terms and conditions for use, reproduction, | |||||
and distribution as defined by Sections 1 through 9 of this document. | |||||
"Licensor" shall mean the copyright owner or entity authorized by | |||||
the copyright owner that is granting the License. | |||||
"Legal Entity" shall mean the union of the acting entity and all | |||||
other entities that control, are controlled by, or are under common | |||||
control with that entity. For the purposes of this definition, | |||||
"control" means (i) the power, direct or indirect, to cause the | |||||
direction or management of such entity, whether by contract or | |||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the | |||||
outstanding shares, or (iii) beneficial ownership of such entity. | |||||
"You" (or "Your") shall mean an individual or Legal Entity | |||||
exercising permissions granted by this License. | |||||
"Source" form shall mean the preferred form for making modifications, | |||||
including but not limited to software source code, documentation | |||||
source, and configuration files. | |||||
"Object" form shall mean any form resulting from mechanical | |||||
transformation or translation of a Source form, including but | |||||
not limited to compiled object code, generated documentation, | |||||
and conversions to other media types. | |||||
"Work" shall mean the work of authorship, whether in Source or | |||||
Object form, made available under the License, as indicated by a | |||||
copyright notice that is included in or attached to the work | |||||
(an example is provided in the Appendix below). | |||||
"Derivative Works" shall mean any work, whether in Source or Object | |||||
form, that is based on (or derived from) the Work and for which the | |||||
editorial revisions, annotations, elaborations, or other modifications | |||||
represent, as a whole, an original work of authorship. For the purposes | |||||
of this License, Derivative Works shall not include works that remain | |||||
separable from, or merely link (or bind by name) to the interfaces of, | |||||
the Work and Derivative Works thereof. | |||||
"Contribution" shall mean any work of authorship, including | |||||
the original version of the Work and any modifications or additions | |||||
to that Work or Derivative Works thereof, that is intentionally | |||||
submitted to Licensor for inclusion in the Work by the copyright owner | |||||
or by an individual or Legal Entity authorized to submit on behalf of | |||||
the copyright owner. For the purposes of this definition, "submitted" | |||||
means any form of electronic, verbal, or written communication sent | |||||
to the Licensor or its representatives, including but not limited to | |||||
communication on electronic mailing lists, source code control systems, | |||||
and issue tracking systems that are managed by, or on behalf of, the | |||||
Licensor for the purpose of discussing and improving the Work, but | |||||
excluding communication that is conspicuously marked or otherwise | |||||
designated in writing by the copyright owner as "Not a Contribution." | |||||
"Contributor" shall mean Licensor and any individual or Legal Entity | |||||
on behalf of whom a Contribution has been received by Licensor and | |||||
subsequently incorporated within the Work. | |||||
2. Grant of Copyright License. Subject to the terms and conditions of | |||||
this License, each Contributor hereby grants to You a perpetual, | |||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||||
copyright license to reproduce, prepare Derivative Works of, | |||||
publicly display, publicly perform, sublicense, and distribute the | |||||
Work and such Derivative Works in Source or Object form. | |||||
3. Grant of Patent License. Subject to the terms and conditions of | |||||
this License, each Contributor hereby grants to You a perpetual, | |||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||||
(except as stated in this section) patent license to make, have made, | |||||
use, offer to sell, sell, import, and otherwise transfer the Work, | |||||
where such license applies only to those patent claims licensable | |||||
by such Contributor that are necessarily infringed by their | |||||
Contribution(s) alone or by combination of their Contribution(s) | |||||
with the Work to which such Contribution(s) was submitted. If You | |||||
institute patent litigation against any entity (including a | |||||
cross-claim or counterclaim in a lawsuit) alleging that the Work | |||||
or a Contribution incorporated within the Work constitutes direct | |||||
or contributory patent infringement, then any patent licenses | |||||
granted to You under this License for that Work shall terminate | |||||
as of the date such litigation is filed. | |||||
4. Redistribution. You may reproduce and distribute copies of the | |||||
Work or Derivative Works thereof in any medium, with or without | |||||
modifications, and in Source or Object form, provided that You | |||||
meet the following conditions: | |||||
(a) You must give any other recipients of the Work or | |||||
Derivative Works a copy of this License; and | |||||
(b) You must cause any modified files to carry prominent notices | |||||
stating that You changed the files; and | |||||
(c) You must retain, in the Source form of any Derivative Works | |||||
that You distribute, all copyright, patent, trademark, and | |||||
attribution notices from the Source form of the Work, | |||||
excluding those notices that do not pertain to any part of | |||||
the Derivative Works; and | |||||
(d) If the Work includes a "NOTICE" text file as part of its | |||||
distribution, then any Derivative Works that You distribute must | |||||
include a readable copy of the attribution notices contained | |||||
within such NOTICE file, excluding those notices that do not | |||||
pertain to any part of the Derivative Works, in at least one | |||||
of the following places: within a NOTICE text file distributed | |||||
as part of the Derivative Works; within the Source form or | |||||
documentation, if provided along with the Derivative Works; or, | |||||
within a display generated by the Derivative Works, if and | |||||
wherever such third-party notices normally appear. The contents | |||||
of the NOTICE file are for informational purposes only and | |||||
do not modify the License. You may add Your own attribution | |||||
notices within Derivative Works that You distribute, alongside | |||||
or as an addendum to the NOTICE text from the Work, provided | |||||
that such additional attribution notices cannot be construed | |||||
as modifying the License. | |||||
You may add Your own copyright statement to Your modifications and | |||||
may provide additional or different license terms and conditions | |||||
for use, reproduction, or distribution of Your modifications, or | |||||
for any such Derivative Works as a whole, provided Your use, | |||||
reproduction, and distribution of the Work otherwise complies with | |||||
the conditions stated in this License. | |||||
5. Submission of Contributions. Unless You explicitly state otherwise, | |||||
any Contribution intentionally submitted for inclusion in the Work | |||||
by You to the Licensor shall be under the terms and conditions of | |||||
this License, without any additional terms or conditions. | |||||
Notwithstanding the above, nothing herein shall supersede or modify | |||||
the terms of any separate license agreement you may have executed | |||||
with Licensor regarding such Contributions. | |||||
6. Trademarks. This License does not grant permission to use the trade | |||||
names, trademarks, service marks, or product names of the Licensor, | |||||
except as required for reasonable and customary use in describing the | |||||
origin of the Work and reproducing the content of the NOTICE file. | |||||
7. Disclaimer of Warranty. Unless required by applicable law or | |||||
agreed to in writing, Licensor provides the Work (and each | |||||
Contributor provides its Contributions) on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | |||||
implied, including, without limitation, any warranties or conditions | |||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | |||||
PARTICULAR PURPOSE. You are solely responsible for determining the | |||||
appropriateness of using or redistributing the Work and assume any | |||||
risks associated with Your exercise of permissions under this License. | |||||
8. Limitation of Liability. In no event and under no legal theory, | |||||
whether in tort (including negligence), contract, or otherwise, | |||||
unless required by applicable law (such as deliberate and grossly | |||||
negligent acts) or agreed to in writing, shall any Contributor be | |||||
liable to You for damages, including any direct, indirect, special, | |||||
incidental, or consequential damages of any character arising as a | |||||
result of this License or out of the use or inability to use the | |||||
Work (including but not limited to damages for loss of goodwill, | |||||
work stoppage, computer failure or malfunction, or any and all | |||||
other commercial damages or losses), even if such Contributor | |||||
has been advised of the possibility of such damages. | |||||
9. Accepting Warranty or Additional Liability. While redistributing | |||||
the Work or Derivative Works thereof, You may choose to offer, | |||||
and charge a fee for, acceptance of support, warranty, indemnity, | |||||
or other liability obligations and/or rights consistent with this | |||||
License. However, in accepting such obligations, You may act only | |||||
on Your own behalf and on Your sole responsibility, not on behalf | |||||
of any other Contributor, and only if You agree to indemnify, | |||||
defend, and hold each Contributor harmless for any liability | |||||
incurred by, or claims asserted against, such Contributor by reason | |||||
of your accepting any such warranty or additional liability. | |||||
END OF TERMS AND CONDITIONS | |||||
Licensed under the Apache License, Version 2.0 (the "License"); | |||||
you may not use this file except in compliance with the License. | |||||
You may obtain a copy of the License at | |||||
https://www.apache.org/licenses/LICENSE-2.0 | |||||
Unless required by applicable law or agreed to in writing, software | |||||
distributed under the License is distributed on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
See the License for the specific language governing permissions and | |||||
limitations under the License. |
@ -0,0 +1,19 @@ | |||||
# Documentation Maintenance Overview | |||||
The documentation found in this directory is hosted at: | |||||
- https://tendermint.com/docs/ | |||||
and built using [VuePress](https://vuepress.vuejs.org/) from the tendermint website repo: | |||||
- https://github.com/tendermint/tendermint.com | |||||
which has a [configuration file](https://github.com/tendermint/tendermint.com/blob/develop/docs/.vuepress/config.js) for displaying | |||||
the Table of Contents that lists all the documentation. | |||||
The `README.md` in this directory is the landing page for | |||||
website documentation and the following folders are intentionally | |||||
ommitted: | |||||
- `architecture/` ==> contains Architecture Design Records | |||||
- `spec/` ==> contains the detailed specification |
@ -1,69 +0,0 @@ | |||||
#!/usr/bin/env bash | |||||
# make all the files | |||||
tendermint init --home ./tester/node0 | |||||
tendermint init --home ./tester/node1 | |||||
tendermint init --home ./tester/node2 | |||||
tendermint init --home ./tester/node3 | |||||
file0=./tester/node0/config/genesis.json | |||||
file1=./tester/node1/config/genesis.json | |||||
file2=./tester/node2/config/genesis.json | |||||
file3=./tester/node3/config/genesis.json | |||||
genesis_time=`cat $file0 | jq '.genesis_time'` | |||||
chain_id=`cat $file0 | jq '.chain_id'` | |||||
value0=`cat $file0 | jq '.validators[0].pub_key.value'` | |||||
value1=`cat $file1 | jq '.validators[0].pub_key.value'` | |||||
value2=`cat $file2 | jq '.validators[0].pub_key.value'` | |||||
value3=`cat $file3 | jq '.validators[0].pub_key.value'` | |||||
rm $file0 | |||||
rm $file1 | |||||
rm $file2 | |||||
rm $file3 | |||||
echo "{ | |||||
\"genesis_time\": $genesis_time, | |||||
\"chain_id\": $chain_id, | |||||
\"validators\": [ | |||||
{ | |||||
\"pub_key\": { | |||||
\"type\": \"tendermint/PubKeyEd25519\", | |||||
\"value\": $value0 | |||||
}, | |||||
\"power:\": 10, | |||||
\"name\":, \"\" | |||||
}, | |||||
{ | |||||
\"pub_key\": { | |||||
\"type\": \"tendermint/PubKeyEd25519\", | |||||
\"value\": $value1 | |||||
}, | |||||
\"power:\": 10, | |||||
\"name\":, \"\" | |||||
}, | |||||
{ | |||||
\"pub_key\": { | |||||
\"type\": \"tendermint/PubKeyEd25519\", | |||||
\"value\": $value2 | |||||
}, | |||||
\"power:\": 10, | |||||
\"name\":, \"\" | |||||
}, | |||||
{ | |||||
\"pub_key\": { | |||||
\"type\": \"tendermint/PubKeyEd25519\", | |||||
\"value\": $value3 | |||||
}, | |||||
\"power:\": 10, | |||||
\"name\":, \"\" | |||||
} | |||||
], | |||||
\"app_hash\": \"\" | |||||
}" >> $file0 | |||||
cp $file0 $file1 | |||||
cp $file0 $file2 | |||||
cp $file2 $file3 |
@ -1,32 +0,0 @@ | |||||
#!/usr/bin/env bash | |||||
# XXX: this script is meant to be used only on a fresh Ubuntu 16.04 instance | |||||
# and has only been tested on Digital Ocean | |||||
# get and unpack golang | |||||
curl -O https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz | |||||
tar -xvf go1.10.linux-amd64.tar.gz | |||||
apt install make | |||||
## move go and add binary to path | |||||
mv go /usr/local | |||||
echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.profile | |||||
## create the GOPATH directory, set GOPATH and put on PATH | |||||
mkdir goApps | |||||
echo "export GOPATH=/root/goApps" >> ~/.profile | |||||
echo "export PATH=\$PATH:\$GOPATH/bin" >> ~/.profile | |||||
source ~/.profile | |||||
## get the code and move into it | |||||
REPO=github.com/tendermint/tendermint | |||||
go get $REPO | |||||
cd $GOPATH/src/$REPO | |||||
## build | |||||
git checkout master | |||||
make get_tools | |||||
make get_vendor_deps | |||||
make install |
@ -1,166 +0,0 @@ | |||||
# This is a TOML config file. | |||||
# For more information, see https://github.com/toml-lang/toml | |||||
##### main base config options ##### | |||||
# TCP or UNIX socket address of the ABCI application, | |||||
# or the name of an ABCI application compiled in with the Tendermint binary | |||||
proxy_app = "tcp://127.0.0.1:26658" | |||||
# A custom human readable name for this node | |||||
moniker = "alpha" | |||||
# If this node is many blocks behind the tip of the chain, FastSync | |||||
# allows them to catchup quickly by downloading blocks in parallel | |||||
# and verifying their commits | |||||
fast_sync = true | |||||
# Database backend: leveldb | memdb | |||||
db_backend = "leveldb" | |||||
# Database directory | |||||
db_path = "data" | |||||
# Output level for logging, including package level options | |||||
log_level = "main:info,state:info,*:error" | |||||
##### additional base config options ##### | |||||
# Path to the JSON file containing the initial validator set and other meta data | |||||
genesis_file = "config/genesis.json" | |||||
# Path to the JSON file containing the private key to use as a validator in the consensus protocol | |||||
priv_validator_file = "config/priv_validator.json" | |||||
# Path to the JSON file containing the private key to use for node authentication in the p2p protocol | |||||
node_key_file = "config/node_key.json" | |||||
# Mechanism to connect to the ABCI application: socket | grpc | |||||
abci = "socket" | |||||
# TCP or UNIX socket address for the profiling server to listen on | |||||
prof_laddr = "" | |||||
# If true, query the ABCI app on connecting to a new peer | |||||
# so the app can decide if we should keep the connection or not | |||||
filter_peers = false | |||||
##### advanced configuration options ##### | |||||
##### rpc server configuration options ##### | |||||
[rpc] | |||||
# TCP or UNIX socket address for the RPC server to listen on | |||||
laddr = "tcp://0.0.0.0:26657" | |||||
# TCP or UNIX socket address for the gRPC server to listen on | |||||
# NOTE: This server only supports /broadcast_tx_commit | |||||
grpc_laddr = "" | |||||
# Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool | |||||
unsafe = false | |||||
##### peer to peer configuration options ##### | |||||
[p2p] | |||||
# Address to listen for incoming connections | |||||
laddr = "tcp://0.0.0.0:26656" | |||||
# Comma separated list of seed nodes to connect to | |||||
seeds = "" | |||||
# Comma separated list of nodes to keep persistent connections to | |||||
# Do not add private peers to this list if you don't want them advertised | |||||
persistent_peers = "" | |||||
# Path to address book | |||||
addr_book_file = "config/addrbook.json" | |||||
# Set true for strict address routability rules | |||||
addr_book_strict = true | |||||
# Time to wait before flushing messages out on the connection, in ms | |||||
flush_throttle_timeout = 100 | |||||
# Maximum number of peers to connect to | |||||
max_num_peers = 50 | |||||
# Maximum size of a message packet payload, in bytes | |||||
max_packet_msg_payload_size = 1024 | |||||
# Rate at which packets can be sent, in bytes/second | |||||
send_rate = 512000 | |||||
# Rate at which packets can be received, in bytes/second | |||||
recv_rate = 512000 | |||||
# Set true to enable the peer-exchange reactor | |||||
pex = true | |||||
# Seed mode, in which node constantly crawls the network and looks for | |||||
# peers. If another node asks it for addresses, it responds and disconnects. | |||||
# | |||||
# Does not work if the peer-exchange reactor is disabled. | |||||
seed_mode = false | |||||
# Comma separated list of peer IDs to keep private (will not be gossiped to other peers) | |||||
private_peer_ids = "" | |||||
##### mempool configuration options ##### | |||||
[mempool] | |||||
recheck = true | |||||
recheck_empty = true | |||||
broadcast = true | |||||
wal_dir = "data/mempool.wal" | |||||
##### consensus configuration options ##### | |||||
[consensus] | |||||
wal_file = "data/cs.wal/wal" | |||||
# All timeouts are in milliseconds | |||||
timeout_propose = 3000 | |||||
timeout_propose_delta = 500 | |||||
timeout_prevote = 1000 | |||||
timeout_prevote_delta = 500 | |||||
timeout_precommit = 1000 | |||||
timeout_precommit_delta = 500 | |||||
timeout_commit = 1000 | |||||
# Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) | |||||
skip_timeout_commit = false | |||||
# BlockSize | |||||
max_block_size_txs = 10000 | |||||
max_block_size_bytes = 1 | |||||
# EmptyBlocks mode and possible interval between empty blocks in seconds | |||||
create_empty_blocks = true | |||||
create_empty_blocks_interval = 0 | |||||
# Reactor sleep duration parameters are in milliseconds | |||||
peer_gossip_sleep_duration = 100 | |||||
peer_query_maj23_sleep_duration = 2000 | |||||
##### transactions indexer configuration options ##### | |||||
[tx_index] | |||||
# What indexer to use for transactions | |||||
# | |||||
# Options: | |||||
# 1) "null" (default) | |||||
# 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). | |||||
indexer = "kv" | |||||
# Comma-separated list of tags to index (by default the only tag is tx hash) | |||||
# | |||||
# It's recommended to index only a subset of tags due to possible memory | |||||
# bloat. This is, of course, depends on the indexer's DB and the volume of | |||||
# transactions. | |||||
index_tags = "" | |||||
# When set to true, tells indexer to index all tags. Note this may be not | |||||
# desirable (see the comment above). IndexTags has a precedence over | |||||
# IndexAllTags (i.e. when given both, IndexTags will be indexed). | |||||
index_all_tags = false |
@ -1,39 +0,0 @@ | |||||
{ | |||||
"genesis_time": "0001-01-01T00:00:00Z", | |||||
"chain_id": "test-chain-A2i3OZ", | |||||
"validators": [ | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "D+k4AdjnYPWbB9wmad137Bdpo/kAulOoTRQrLy/Qc4k=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "b56N5GCR1adcVRuENjfKw/mrm2dkhT7wNZXV/SDsKsU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "IgZDpJvGA0TAamicA8ircy+RX/BkUlj6DXwM791ywIU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "KGAZfxZvIZ7abbeIQ85U1ECG6+I62KSdaH8ulc0+OiU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
} | |||||
], | |||||
"app_hash": "" | |||||
} |
@ -1 +0,0 @@ | |||||
{"priv_key":{"type":"tendermint/PrivKeyEd25519","value":"7lY+k6EDllG8Q9gVbF5313t/ag2YGkBVKdVa0YHJ9xO5k0w3Q/hke0Z7UFT1KgVDGRUEKzwAwwjwFQUvgF0ZWg=="}} |
@ -1,14 +0,0 @@ | |||||
{ | |||||
"address": "122A9414774A2FCAD026201DA477EF3F41970EF0", | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "D+k4AdjnYPWbB9wmad137Bdpo/kAulOoTRQrLy/Qc4k=" | |||||
}, | |||||
"last_height": "0", | |||||
"last_round": "0", | |||||
"last_step": 0, | |||||
"priv_key": { | |||||
"type": "tendermint/PrivKeyEd25519", | |||||
"value": "YLxp3ho+kySgAnzjBptbxDzSGw2ntGZLsIHQsaVxY/cP6TgB2Odg9ZsH3CZp3XfsF2mj+QC6U6hNFCsvL9BziQ==" | |||||
} | |||||
} |
@ -1,166 +0,0 @@ | |||||
# This is a TOML config file. | |||||
# For more information, see https://github.com/toml-lang/toml | |||||
##### main base config options ##### | |||||
# TCP or UNIX socket address of the ABCI application, | |||||
# or the name of an ABCI application compiled in with the Tendermint binary | |||||
proxy_app = "tcp://127.0.0.1:26658" | |||||
# A custom human readable name for this node | |||||
moniker = "bravo" | |||||
# If this node is many blocks behind the tip of the chain, FastSync | |||||
# allows them to catchup quickly by downloading blocks in parallel | |||||
# and verifying their commits | |||||
fast_sync = true | |||||
# Database backend: leveldb | memdb | |||||
db_backend = "leveldb" | |||||
# Database directory | |||||
db_path = "data" | |||||
# Output level for logging, including package level options | |||||
log_level = "main:info,state:info,*:error" | |||||
##### additional base config options ##### | |||||
# Path to the JSON file containing the initial validator set and other meta data | |||||
genesis_file = "config/genesis.json" | |||||
# Path to the JSON file containing the private key to use as a validator in the consensus protocol | |||||
priv_validator_file = "config/priv_validator.json" | |||||
# Path to the JSON file containing the private key to use for node authentication in the p2p protocol | |||||
node_key_file = "config/node_key.json" | |||||
# Mechanism to connect to the ABCI application: socket | grpc | |||||
abci = "socket" | |||||
# TCP or UNIX socket address for the profiling server to listen on | |||||
prof_laddr = "" | |||||
# If true, query the ABCI app on connecting to a new peer | |||||
# so the app can decide if we should keep the connection or not | |||||
filter_peers = false | |||||
##### advanced configuration options ##### | |||||
##### rpc server configuration options ##### | |||||
[rpc] | |||||
# TCP or UNIX socket address for the RPC server to listen on | |||||
laddr = "tcp://0.0.0.0:26657" | |||||
# TCP or UNIX socket address for the gRPC server to listen on | |||||
# NOTE: This server only supports /broadcast_tx_commit | |||||
grpc_laddr = "" | |||||
# Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool | |||||
unsafe = false | |||||
##### peer to peer configuration options ##### | |||||
[p2p] | |||||
# Address to listen for incoming connections | |||||
laddr = "tcp://0.0.0.0:26656" | |||||
# Comma separated list of seed nodes to connect to | |||||
seeds = "" | |||||
# Comma separated list of nodes to keep persistent connections to | |||||
# Do not add private peers to this list if you don't want them advertised | |||||
persistent_peers = "" | |||||
# Path to address book | |||||
addr_book_file = "config/addrbook.json" | |||||
# Set true for strict address routability rules | |||||
addr_book_strict = true | |||||
# Time to wait before flushing messages out on the connection, in ms | |||||
flush_throttle_timeout = 100 | |||||
# Maximum number of peers to connect to | |||||
max_num_peers = 50 | |||||
# Maximum size of a message packet payload, in bytes | |||||
max_packet_msg_payload_size = 1024 | |||||
# Rate at which packets can be sent, in bytes/second | |||||
send_rate = 512000 | |||||
# Rate at which packets can be received, in bytes/second | |||||
recv_rate = 512000 | |||||
# Set true to enable the peer-exchange reactor | |||||
pex = true | |||||
# Seed mode, in which node constantly crawls the network and looks for | |||||
# peers. If another node asks it for addresses, it responds and disconnects. | |||||
# | |||||
# Does not work if the peer-exchange reactor is disabled. | |||||
seed_mode = false | |||||
# Comma separated list of peer IDs to keep private (will not be gossiped to other peers) | |||||
private_peer_ids = "" | |||||
##### mempool configuration options ##### | |||||
[mempool] | |||||
recheck = true | |||||
recheck_empty = true | |||||
broadcast = true | |||||
wal_dir = "data/mempool.wal" | |||||
##### consensus configuration options ##### | |||||
[consensus] | |||||
wal_file = "data/cs.wal/wal" | |||||
# All timeouts are in milliseconds | |||||
timeout_propose = 3000 | |||||
timeout_propose_delta = 500 | |||||
timeout_prevote = 1000 | |||||
timeout_prevote_delta = 500 | |||||
timeout_precommit = 1000 | |||||
timeout_precommit_delta = 500 | |||||
timeout_commit = 1000 | |||||
# Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) | |||||
skip_timeout_commit = false | |||||
# BlockSize | |||||
max_block_size_txs = 10000 | |||||
max_block_size_bytes = 1 | |||||
# EmptyBlocks mode and possible interval between empty blocks in seconds | |||||
create_empty_blocks = true | |||||
create_empty_blocks_interval = 0 | |||||
# Reactor sleep duration parameters are in milliseconds | |||||
peer_gossip_sleep_duration = 100 | |||||
peer_query_maj23_sleep_duration = 2000 | |||||
##### transactions indexer configuration options ##### | |||||
[tx_index] | |||||
# What indexer to use for transactions | |||||
# | |||||
# Options: | |||||
# 1) "null" (default) | |||||
# 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). | |||||
indexer = "kv" | |||||
# Comma-separated list of tags to index (by default the only tag is tx hash) | |||||
# | |||||
# It's recommended to index only a subset of tags due to possible memory | |||||
# bloat. This is, of course, depends on the indexer's DB and the volume of | |||||
# transactions. | |||||
index_tags = "" | |||||
# When set to true, tells indexer to index all tags. Note this may be not | |||||
# desirable (see the comment above). IndexTags has a precedence over | |||||
# IndexAllTags (i.e. when given both, IndexTags will be indexed). | |||||
index_all_tags = false |
@ -1,39 +0,0 @@ | |||||
{ | |||||
"genesis_time": "0001-01-01T00:00:00Z", | |||||
"chain_id": "test-chain-A2i3OZ", | |||||
"validators": [ | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "D+k4AdjnYPWbB9wmad137Bdpo/kAulOoTRQrLy/Qc4k=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "b56N5GCR1adcVRuENjfKw/mrm2dkhT7wNZXV/SDsKsU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "IgZDpJvGA0TAamicA8ircy+RX/BkUlj6DXwM791ywIU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "KGAZfxZvIZ7abbeIQ85U1ECG6+I62KSdaH8ulc0+OiU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
} | |||||
], | |||||
"app_hash": "" | |||||
} |
@ -1 +0,0 @@ | |||||
{"priv_key":{"type":"tendermint/PrivKeyEd25519","value":"H71dc/TIG7nTselfa9nG0WRArXLKYnm7P5eFCk2lk8ASKQ3sIHpbdxCSHQD/RcdHe7TiabJeuOssNPvPWiyQEQ=="}} |
@ -1,14 +0,0 @@ | |||||
{ | |||||
"address": "BEA1B57F5806CF9AC4D54C8CF806DED5C0F102E1", | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "b56N5GCR1adcVRuENjfKw/mrm2dkhT7wNZXV/SDsKsU=" | |||||
}, | |||||
"last_height": "0", | |||||
"last_round": "0", | |||||
"last_step": 0, | |||||
"priv_key": { | |||||
"type": "tendermint/PrivKeyEd25519", | |||||
"value": "o0IqrHSPtd5YqGefodWxpJuRzvuVBjgbH785vbMgk7Vvno3kYJHVp1xVG4Q2N8rD+aubZ2SFPvA1ldX9IOwqxQ==" | |||||
} | |||||
} |
@ -1,166 +0,0 @@ | |||||
# This is a TOML config file. | |||||
# For more information, see https://github.com/toml-lang/toml | |||||
##### main base config options ##### | |||||
# TCP or UNIX socket address of the ABCI application, | |||||
# or the name of an ABCI application compiled in with the Tendermint binary | |||||
proxy_app = "tcp://127.0.0.1:26658" | |||||
# A custom human readable name for this node | |||||
moniker = "charlie" | |||||
# If this node is many blocks behind the tip of the chain, FastSync | |||||
# allows them to catchup quickly by downloading blocks in parallel | |||||
# and verifying their commits | |||||
fast_sync = true | |||||
# Database backend: leveldb | memdb | |||||
db_backend = "leveldb" | |||||
# Database directory | |||||
db_path = "data" | |||||
# Output level for logging, including package level options | |||||
log_level = "main:info,state:info,*:error" | |||||
##### additional base config options ##### | |||||
# Path to the JSON file containing the initial validator set and other meta data | |||||
genesis_file = "config/genesis.json" | |||||
# Path to the JSON file containing the private key to use as a validator in the consensus protocol | |||||
priv_validator_file = "config/priv_validator.json" | |||||
# Path to the JSON file containing the private key to use for node authentication in the p2p protocol | |||||
node_key_file = "config/node_key.json" | |||||
# Mechanism to connect to the ABCI application: socket | grpc | |||||
abci = "socket" | |||||
# TCP or UNIX socket address for the profiling server to listen on | |||||
prof_laddr = "" | |||||
# If true, query the ABCI app on connecting to a new peer | |||||
# so the app can decide if we should keep the connection or not | |||||
filter_peers = false | |||||
##### advanced configuration options ##### | |||||
##### rpc server configuration options ##### | |||||
[rpc] | |||||
# TCP or UNIX socket address for the RPC server to listen on | |||||
laddr = "tcp://0.0.0.0:26657" | |||||
# TCP or UNIX socket address for the gRPC server to listen on | |||||
# NOTE: This server only supports /broadcast_tx_commit | |||||
grpc_laddr = "" | |||||
# Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool | |||||
unsafe = false | |||||
##### peer to peer configuration options ##### | |||||
[p2p] | |||||
# Address to listen for incoming connections | |||||
laddr = "tcp://0.0.0.0:26656" | |||||
# Comma separated list of seed nodes to connect to | |||||
seeds = "" | |||||
# Comma separated list of nodes to keep persistent connections to | |||||
# Do not add private peers to this list if you don't want them advertised | |||||
persistent_peers = "" | |||||
# Path to address book | |||||
addr_book_file = "config/addrbook.json" | |||||
# Set true for strict address routability rules | |||||
addr_book_strict = true | |||||
# Time to wait before flushing messages out on the connection, in ms | |||||
flush_throttle_timeout = 100 | |||||
# Maximum number of peers to connect to | |||||
max_num_peers = 50 | |||||
# Maximum size of a message packet payload, in bytes | |||||
max_packet_msg_payload_size = 1024 | |||||
# Rate at which packets can be sent, in bytes/second | |||||
send_rate = 512000 | |||||
# Rate at which packets can be received, in bytes/second | |||||
recv_rate = 512000 | |||||
# Set true to enable the peer-exchange reactor | |||||
pex = true | |||||
# Seed mode, in which node constantly crawls the network and looks for | |||||
# peers. If another node asks it for addresses, it responds and disconnects. | |||||
# | |||||
# Does not work if the peer-exchange reactor is disabled. | |||||
seed_mode = false | |||||
# Comma separated list of peer IDs to keep private (will not be gossiped to other peers) | |||||
private_peer_ids = "" | |||||
##### mempool configuration options ##### | |||||
[mempool] | |||||
recheck = true | |||||
recheck_empty = true | |||||
broadcast = true | |||||
wal_dir = "data/mempool.wal" | |||||
##### consensus configuration options ##### | |||||
[consensus] | |||||
wal_file = "data/cs.wal/wal" | |||||
# All timeouts are in milliseconds | |||||
timeout_propose = 3000 | |||||
timeout_propose_delta = 500 | |||||
timeout_prevote = 1000 | |||||
timeout_prevote_delta = 500 | |||||
timeout_precommit = 1000 | |||||
timeout_precommit_delta = 500 | |||||
timeout_commit = 1000 | |||||
# Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) | |||||
skip_timeout_commit = false | |||||
# BlockSize | |||||
max_block_size_txs = 10000 | |||||
max_block_size_bytes = 1 | |||||
# EmptyBlocks mode and possible interval between empty blocks in seconds | |||||
create_empty_blocks = true | |||||
create_empty_blocks_interval = 0 | |||||
# Reactor sleep duration parameters are in milliseconds | |||||
peer_gossip_sleep_duration = 100 | |||||
peer_query_maj23_sleep_duration = 2000 | |||||
##### transactions indexer configuration options ##### | |||||
[tx_index] | |||||
# What indexer to use for transactions | |||||
# | |||||
# Options: | |||||
# 1) "null" (default) | |||||
# 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). | |||||
indexer = "kv" | |||||
# Comma-separated list of tags to index (by default the only tag is tx hash) | |||||
# | |||||
# It's recommended to index only a subset of tags due to possible memory | |||||
# bloat. This is, of course, depends on the indexer's DB and the volume of | |||||
# transactions. | |||||
index_tags = "" | |||||
# When set to true, tells indexer to index all tags. Note this may be not | |||||
# desirable (see the comment above). IndexTags has a precedence over | |||||
# IndexAllTags (i.e. when given both, IndexTags will be indexed). | |||||
index_all_tags = false |
@ -1,39 +0,0 @@ | |||||
{ | |||||
"genesis_time": "0001-01-01T00:00:00Z", | |||||
"chain_id": "test-chain-A2i3OZ", | |||||
"validators": [ | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "D+k4AdjnYPWbB9wmad137Bdpo/kAulOoTRQrLy/Qc4k=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "b56N5GCR1adcVRuENjfKw/mrm2dkhT7wNZXV/SDsKsU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "IgZDpJvGA0TAamicA8ircy+RX/BkUlj6DXwM791ywIU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "KGAZfxZvIZ7abbeIQ85U1ECG6+I62KSdaH8ulc0+OiU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
} | |||||
], | |||||
"app_hash": "" | |||||
} |
@ -1 +0,0 @@ | |||||
{"priv_key":{"type":"tendermint/PrivKeyEd25519","value":"COHZ/Y2cWGWxJNkRwtpQBt5sYvOnb6Gpz0lO46XERRJFBIdSWD5x1UMGRSTmnvW1ec5G4bMdg6zUZKOZD+vVPg=="}} |
@ -1,14 +0,0 @@ | |||||
{ | |||||
"address": "F0AA266949FB29ADA0B679C27889ED930BD1BDA1", | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "IgZDpJvGA0TAamicA8ircy+RX/BkUlj6DXwM791ywIU=" | |||||
}, | |||||
"last_height": "0", | |||||
"last_round": "0", | |||||
"last_step": 0, | |||||
"priv_key": { | |||||
"type": "tendermint/PrivKeyEd25519", | |||||
"value": "khADeZ5K/8u/L99DFaZNRq8V5g+EHWbwfqFjhCrppaAiBkOkm8YDRMBqaJwDyKtzL5Ff8GRSWPoNfAzv3XLAhQ==" | |||||
} | |||||
} |
@ -1,166 +0,0 @@ | |||||
# This is a TOML config file. | |||||
# For more information, see https://github.com/toml-lang/toml | |||||
##### main base config options ##### | |||||
# TCP or UNIX socket address of the ABCI application, | |||||
# or the name of an ABCI application compiled in with the Tendermint binary | |||||
proxy_app = "tcp://127.0.0.1:26658" | |||||
# A custom human readable name for this node | |||||
moniker = "delta" | |||||
# If this node is many blocks behind the tip of the chain, FastSync | |||||
# allows them to catchup quickly by downloading blocks in parallel | |||||
# and verifying their commits | |||||
fast_sync = true | |||||
# Database backend: leveldb | memdb | |||||
db_backend = "leveldb" | |||||
# Database directory | |||||
db_path = "data" | |||||
# Output level for logging, including package level options | |||||
log_level = "main:info,state:info,*:error" | |||||
##### additional base config options ##### | |||||
# Path to the JSON file containing the initial validator set and other meta data | |||||
genesis_file = "config/genesis.json" | |||||
# Path to the JSON file containing the private key to use as a validator in the consensus protocol | |||||
priv_validator_file = "config/priv_validator.json" | |||||
# Path to the JSON file containing the private key to use for node authentication in the p2p protocol | |||||
node_key_file = "config/node_key.json" | |||||
# Mechanism to connect to the ABCI application: socket | grpc | |||||
abci = "socket" | |||||
# TCP or UNIX socket address for the profiling server to listen on | |||||
prof_laddr = "" | |||||
# If true, query the ABCI app on connecting to a new peer | |||||
# so the app can decide if we should keep the connection or not | |||||
filter_peers = false | |||||
##### advanced configuration options ##### | |||||
##### rpc server configuration options ##### | |||||
[rpc] | |||||
# TCP or UNIX socket address for the RPC server to listen on | |||||
laddr = "tcp://0.0.0.0:26657" | |||||
# TCP or UNIX socket address for the gRPC server to listen on | |||||
# NOTE: This server only supports /broadcast_tx_commit | |||||
grpc_laddr = "" | |||||
# Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool | |||||
unsafe = false | |||||
##### peer to peer configuration options ##### | |||||
[p2p] | |||||
# Address to listen for incoming connections | |||||
laddr = "tcp://0.0.0.0:26656" | |||||
# Comma separated list of seed nodes to connect to | |||||
seeds = "" | |||||
# Comma separated list of nodes to keep persistent connections to | |||||
# Do not add private peers to this list if you don't want them advertised | |||||
persistent_peers = "" | |||||
# Path to address book | |||||
addr_book_file = "config/addrbook.json" | |||||
# Set true for strict address routability rules | |||||
addr_book_strict = true | |||||
# Time to wait before flushing messages out on the connection, in ms | |||||
flush_throttle_timeout = 100 | |||||
# Maximum number of peers to connect to | |||||
max_num_peers = 50 | |||||
# Maximum size of a message packet payload, in bytes | |||||
max_packet_msg_payload_size = 1024 | |||||
# Rate at which packets can be sent, in bytes/second | |||||
send_rate = 512000 | |||||
# Rate at which packets can be received, in bytes/second | |||||
recv_rate = 512000 | |||||
# Set true to enable the peer-exchange reactor | |||||
pex = true | |||||
# Seed mode, in which node constantly crawls the network and looks for | |||||
# peers. If another node asks it for addresses, it responds and disconnects. | |||||
# | |||||
# Does not work if the peer-exchange reactor is disabled. | |||||
seed_mode = false | |||||
# Comma separated list of peer IDs to keep private (will not be gossiped to other peers) | |||||
private_peer_ids = "" | |||||
##### mempool configuration options ##### | |||||
[mempool] | |||||
recheck = true | |||||
recheck_empty = true | |||||
broadcast = true | |||||
wal_dir = "data/mempool.wal" | |||||
##### consensus configuration options ##### | |||||
[consensus] | |||||
wal_file = "data/cs.wal/wal" | |||||
# All timeouts are in milliseconds | |||||
timeout_propose = 3000 | |||||
timeout_propose_delta = 500 | |||||
timeout_prevote = 1000 | |||||
timeout_prevote_delta = 500 | |||||
timeout_precommit = 1000 | |||||
timeout_precommit_delta = 500 | |||||
timeout_commit = 1000 | |||||
# Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) | |||||
skip_timeout_commit = false | |||||
# BlockSize | |||||
max_block_size_txs = 10000 | |||||
max_block_size_bytes = 1 | |||||
# EmptyBlocks mode and possible interval between empty blocks in seconds | |||||
create_empty_blocks = true | |||||
create_empty_blocks_interval = 0 | |||||
# Reactor sleep duration parameters are in milliseconds | |||||
peer_gossip_sleep_duration = 100 | |||||
peer_query_maj23_sleep_duration = 2000 | |||||
##### transactions indexer configuration options ##### | |||||
[tx_index] | |||||
# What indexer to use for transactions | |||||
# | |||||
# Options: | |||||
# 1) "null" (default) | |||||
# 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). | |||||
indexer = "kv" | |||||
# Comma-separated list of tags to index (by default the only tag is tx hash) | |||||
# | |||||
# It's recommended to index only a subset of tags due to possible memory | |||||
# bloat. This is, of course, depends on the indexer's DB and the volume of | |||||
# transactions. | |||||
index_tags = "" | |||||
# When set to true, tells indexer to index all tags. Note this may be not | |||||
# desirable (see the comment above). IndexTags has a precedence over | |||||
# IndexAllTags (i.e. when given both, IndexTags will be indexed). | |||||
index_all_tags = false |
@ -1,39 +0,0 @@ | |||||
{ | |||||
"genesis_time": "0001-01-01T00:00:00Z", | |||||
"chain_id": "test-chain-A2i3OZ", | |||||
"validators": [ | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "D+k4AdjnYPWbB9wmad137Bdpo/kAulOoTRQrLy/Qc4k=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "b56N5GCR1adcVRuENjfKw/mrm2dkhT7wNZXV/SDsKsU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "IgZDpJvGA0TAamicA8ircy+RX/BkUlj6DXwM791ywIU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
}, | |||||
{ | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "KGAZfxZvIZ7abbeIQ85U1ECG6+I62KSdaH8ulc0+OiU=" | |||||
}, | |||||
"power": "10", | |||||
"name": "" | |||||
} | |||||
], | |||||
"app_hash": "" | |||||
} |
@ -1 +0,0 @@ | |||||
{"priv_key":{"type":"tendermint/PrivKeyEd25519","value":"9Y9xp/tUJJ6pHTF5SUV0bGKYSdVbFtMHu+Lr8S0JBSZAwneaejnfOEU1LMKOnQ07skrDUaJcj5di3jAyjxJzqg=="}} |
@ -1,14 +0,0 @@ | |||||
{ | |||||
"address": "9A1A6914EB5F4FF0269C7EEEE627C27310CC64F9", | |||||
"pub_key": { | |||||
"type": "tendermint/PubKeyEd25519", | |||||
"value": "KGAZfxZvIZ7abbeIQ85U1ECG6+I62KSdaH8ulc0+OiU=" | |||||
}, | |||||
"last_height": "0", | |||||
"last_round": "0", | |||||
"last_step": 0, | |||||
"priv_key": { | |||||
"type": "tendermint/PrivKeyEd25519", | |||||
"value": "jb52LZ5gp+eQ8nJlFK1z06nBMp1gD8ICmyzdM1icGOgoYBl/Fm8hntptt4hDzlTUQIbr4jrYpJ1ofy6VzT46JQ==" | |||||
} | |||||
} |
@ -0,0 +1,37 @@ | |||||
{ | |||||
"dependencies": { | |||||
"prettier": "^1.13.7", | |||||
"remark-cli": "^5.0.0", | |||||
"remark-lint-no-dead-urls": "^0.3.0", | |||||
"textlint": "^10.2.1" | |||||
}, | |||||
"name": "tendermint", | |||||
"description": "Tendermint Core Documentation", | |||||
"version": "0.0.1", | |||||
"main": "README.md", | |||||
"devDependencies": {}, | |||||
"scripts": { | |||||
"lint:json": "prettier \"**/*.json\" --write", | |||||
"lint:md": "prettier \"**/*.md\" --write && remark . && textlint \"md/**\"", | |||||
"lint": "yarn lint:json && yarn lint:md" | |||||
}, | |||||
"repository": { | |||||
"type": "git", | |||||
"url": "git+https://github.com/tendermint/tendermint.git" | |||||
}, | |||||
"keywords": [ | |||||
"tendermint", | |||||
"blockchain" | |||||
], | |||||
"author": "Tendermint", | |||||
"license": "ISC", | |||||
"bugs": { | |||||
"url": "https://github.com/tendermint/tendermint/issues" | |||||
}, | |||||
"homepage": "https://tendermint.com/docs/", | |||||
"remarkConfig": { | |||||
"plugins": [ | |||||
"remark-lint-no-dead-urls" | |||||
] | |||||
} | |||||
} |
@ -1,3 +0,0 @@ | |||||
* @melekes @ebuchman | |||||
*.md @zramsay | |||||
*.rst @zramsay |
@ -1,281 +0,0 @@ | |||||
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/btcsuite/btcutil" | |||||
packages = ["bech32"] | |||||
revision = "d4cc87b860166d00d6b5b9e0d3b3d71d6088d4d4" | |||||
[[projects]] | |||||
name = "github.com/davecgh/go-spew" | |||||
packages = ["spew"] | |||||
revision = "346938d642f2ec3594ed81d874461961cd0faa76" | |||||
version = "v1.1.0" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/fortytw2/leaktest" | |||||
packages = ["."] | |||||
revision = "3b724c3d7b8729a35bf4e577f71653aec6e53513" | |||||
[[projects]] | |||||
name = "github.com/fsnotify/fsnotify" | |||||
packages = ["."] | |||||
revision = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9" | |||||
version = "v1.4.7" | |||||
[[projects]] | |||||
name = "github.com/go-kit/kit" | |||||
packages = [ | |||||
"log", | |||||
"log/level", | |||||
"log/term" | |||||
] | |||||
revision = "4dc7be5d2d12881735283bcab7352178e190fc71" | |||||
version = "v0.6.0" | |||||
[[projects]] | |||||
name = "github.com/go-logfmt/logfmt" | |||||
packages = ["."] | |||||
revision = "390ab7935ee28ec6b286364bba9b4dd6410cb3d5" | |||||
version = "v0.3.0" | |||||
[[projects]] | |||||
name = "github.com/go-stack/stack" | |||||
packages = ["."] | |||||
revision = "817915b46b97fd7bb80e8ab6b69f01a53ac3eebf" | |||||
version = "v1.6.0" | |||||
[[projects]] | |||||
name = "github.com/golang/protobuf" | |||||
packages = [ | |||||
"proto", | |||||
"ptypes", | |||||
"ptypes/any", | |||||
"ptypes/duration", | |||||
"ptypes/timestamp" | |||||
] | |||||
revision = "b4deda0973fb4c70b50d226b1af49f3da59f5265" | |||||
version = "v1.1.0" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/golang/snappy" | |||||
packages = ["."] | |||||
revision = "553a641470496b2327abcac10b36396bd98e45c9" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/hashicorp/hcl" | |||||
packages = [ | |||||
".", | |||||
"hcl/ast", | |||||
"hcl/parser", | |||||
"hcl/scanner", | |||||
"hcl/strconv", | |||||
"hcl/token", | |||||
"json/parser", | |||||
"json/scanner", | |||||
"json/token" | |||||
] | |||||
revision = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8" | |||||
[[projects]] | |||||
name = "github.com/inconshreveable/mousetrap" | |||||
packages = ["."] | |||||
revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" | |||||
version = "v1.0" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/jmhodges/levigo" | |||||
packages = ["."] | |||||
revision = "c42d9e0ca023e2198120196f842701bb4c55d7b9" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/kr/logfmt" | |||||
packages = ["."] | |||||
revision = "b84e30acd515aadc4b783ad4ff83aff3299bdfe0" | |||||
[[projects]] | |||||
name = "github.com/magiconair/properties" | |||||
packages = ["."] | |||||
revision = "49d762b9817ba1c2e9d0c69183c2b4a8b8f1d934" | |||||
[[projects]] | |||||
name = "github.com/mitchellh/mapstructure" | |||||
packages = ["."] | |||||
revision = "b4575eea38cca1123ec2dc90c26529b5c5acfcff" | |||||
[[projects]] | |||||
name = "github.com/pelletier/go-toml" | |||||
packages = ["."] | |||||
revision = "acdc4509485b587f5e675510c4f2c63e90ff68a8" | |||||
version = "v1.1.0" | |||||
[[projects]] | |||||
name = "github.com/pkg/errors" | |||||
packages = ["."] | |||||
revision = "645ef00459ed84a119197bfb8d8205042c6df63d" | |||||
version = "v0.8.0" | |||||
[[projects]] | |||||
name = "github.com/pmezard/go-difflib" | |||||
packages = ["difflib"] | |||||
revision = "792786c7400a136282c1664665ae0a8db921c6c2" | |||||
version = "v1.0.0" | |||||
[[projects]] | |||||
name = "github.com/spf13/afero" | |||||
packages = [ | |||||
".", | |||||
"mem" | |||||
] | |||||
revision = "bb8f1927f2a9d3ab41c9340aa034f6b803f4359c" | |||||
version = "v1.0.2" | |||||
[[projects]] | |||||
name = "github.com/spf13/cast" | |||||
packages = ["."] | |||||
revision = "acbeb36b902d72a7a4c18e8f3241075e7ab763e4" | |||||
version = "v1.1.0" | |||||
[[projects]] | |||||
name = "github.com/spf13/cobra" | |||||
packages = ["."] | |||||
revision = "7b2c5ac9fc04fc5efafb60700713d4fa609b777b" | |||||
version = "v0.0.1" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "github.com/spf13/jwalterweatherman" | |||||
packages = ["."] | |||||
revision = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394" | |||||
[[projects]] | |||||
name = "github.com/spf13/pflag" | |||||
packages = ["."] | |||||
revision = "97afa5e7ca8a08a383cb259e06636b5e2cc7897f" | |||||
[[projects]] | |||||
name = "github.com/spf13/viper" | |||||
packages = ["."] | |||||
revision = "25b30aa063fc18e48662b86996252eabdcf2f0c7" | |||||
version = "v1.0.0" | |||||
[[projects]] | |||||
name = "github.com/stretchr/testify" | |||||
packages = [ | |||||
"assert", | |||||
"require" | |||||
] | |||||
revision = "12b6f73e6084dad08a7c6e575284b177ecafbc71" | |||||
version = "v1.2.1" | |||||
[[projects]] | |||||
name = "github.com/syndtr/goleveldb" | |||||
packages = [ | |||||
"leveldb", | |||||
"leveldb/cache", | |||||
"leveldb/comparer", | |||||
"leveldb/errors", | |||||
"leveldb/filter", | |||||
"leveldb/iterator", | |||||
"leveldb/journal", | |||||
"leveldb/memdb", | |||||
"leveldb/opt", | |||||
"leveldb/storage", | |||||
"leveldb/table", | |||||
"leveldb/util" | |||||
] | |||||
revision = "b89cc31ef7977104127d34c1bd31ebd1a9db2199" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "golang.org/x/net" | |||||
packages = [ | |||||
"context", | |||||
"http/httpguts", | |||||
"http2", | |||||
"http2/hpack", | |||||
"idna", | |||||
"internal/timeseries", | |||||
"trace" | |||||
] | |||||
revision = "d11bb6cd8e3c4e60239c9cb20ef68586d74500d0" | |||||
[[projects]] | |||||
name = "golang.org/x/sys" | |||||
packages = ["unix"] | |||||
revision = "37707fdb30a5b38865cfb95e5aab41707daec7fd" | |||||
[[projects]] | |||||
name = "golang.org/x/text" | |||||
packages = [ | |||||
"collate", | |||||
"collate/build", | |||||
"internal/colltab", | |||||
"internal/gen", | |||||
"internal/tag", | |||||
"internal/triegen", | |||||
"internal/ucd", | |||||
"language", | |||||
"secure/bidirule", | |||||
"transform", | |||||
"unicode/bidi", | |||||
"unicode/cldr", | |||||
"unicode/norm", | |||||
"unicode/rangetable" | |||||
] | |||||
revision = "c01e4764d870b77f8abe5096ee19ad20d80e8075" | |||||
[[projects]] | |||||
branch = "master" | |||||
name = "google.golang.org/genproto" | |||||
packages = ["googleapis/rpc/status"] | |||||
revision = "86e600f69ee4704c6efbf6a2a40a5c10700e76c2" | |||||
[[projects]] | |||||
name = "google.golang.org/grpc" | |||||
packages = [ | |||||
".", | |||||
"balancer", | |||||
"balancer/base", | |||||
"balancer/roundrobin", | |||||
"codes", | |||||
"connectivity", | |||||
"credentials", | |||||
"encoding", | |||||
"encoding/proto", | |||||
"grpclb/grpc_lb_v1/messages", | |||||
"grpclog", | |||||
"internal", | |||||
"keepalive", | |||||
"metadata", | |||||
"naming", | |||||
"peer", | |||||
"resolver", | |||||
"resolver/dns", | |||||
"resolver/passthrough", | |||||
"stats", | |||||
"status", | |||||
"tap", | |||||
"transport" | |||||
] | |||||
revision = "d11072e7ca9811b1100b80ca0269ac831f06d024" | |||||
version = "v1.11.3" | |||||
[[projects]] | |||||
name = "gopkg.in/yaml.v2" | |||||
packages = ["."] | |||||
revision = "d670f9405373e636a5a2765eea47fac0c9bc91a4" | |||||
version = "v2.0.0" | |||||
[solve-meta] | |||||
analyzer-name = "dep" | |||||
analyzer-version = 1 | |||||
inputs-digest = "e0c0af880b57928787ea78a820abefd2759e6aee4cba18e67ab36b80e62ad581" | |||||
solver-name = "gps-cdcl" | |||||
solver-version = 1 |
@ -1,69 +0,0 @@ | |||||
# Gopkg.toml example | |||||
# | |||||
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md | |||||
# for detailed Gopkg.toml documentation. | |||||
# | |||||
# required = ["github.com/user/thing/cmd/thing"] | |||||
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] | |||||
# | |||||
# [[constraint]] | |||||
# name = "github.com/user/project" | |||||
# version = "1.0.0" | |||||
# | |||||
# [[constraint]] | |||||
# name = "github.com/user/project2" | |||||
# branch = "dev" | |||||
# source = "github.com/myfork/project2" | |||||
# | |||||
# [[override]] | |||||
# name = "github.com/x/y" | |||||
# version = "2.4.0" | |||||
# | |||||
# [prune] | |||||
# non-go = false | |||||
# go-tests = true | |||||
# unused-packages = true | |||||
[[constraint]] | |||||
branch = "master" | |||||
name = "github.com/fortytw2/leaktest" | |||||
[[constraint]] | |||||
name = "github.com/go-kit/kit" | |||||
version = "0.6.0" | |||||
[[constraint]] | |||||
name = "github.com/go-logfmt/logfmt" | |||||
version = "0.3.0" | |||||
[[constraint]] | |||||
name = "github.com/gogo/protobuf" | |||||
version = "1.0.0" | |||||
[[constraint]] | |||||
branch = "master" | |||||
name = "github.com/jmhodges/levigo" | |||||
[[constraint]] | |||||
name = "github.com/pkg/errors" | |||||
version = "0.8.0" | |||||
[[constraint]] | |||||
name = "github.com/spf13/cobra" | |||||
version = "0.0.1" | |||||
[[constraint]] | |||||
name = "github.com/spf13/viper" | |||||
version = "1.0.0" | |||||
[[constraint]] | |||||
name = "github.com/stretchr/testify" | |||||
version = "1.2.1" | |||||
[[constraint]] | |||||
name = "github.com/btcsuite/btcutil" | |||||
branch ="master" | |||||
[prune] | |||||
go-tests = true | |||||
unused-packages = true |
@ -1,193 +0,0 @@ | |||||
Tendermint Libraries | |||||
Copyright (C) 2017 Tendermint | |||||
Apache License | |||||
Version 2.0, January 2004 | |||||
https://www.apache.org/licenses/ | |||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | |||||
1. Definitions. | |||||
"License" shall mean the terms and conditions for use, reproduction, | |||||
and distribution as defined by Sections 1 through 9 of this document. | |||||
"Licensor" shall mean the copyright owner or entity authorized by | |||||
the copyright owner that is granting the License. | |||||
"Legal Entity" shall mean the union of the acting entity and all | |||||
other entities that control, are controlled by, or are under common | |||||
control with that entity. For the purposes of this definition, | |||||
"control" means (i) the power, direct or indirect, to cause the | |||||
direction or management of such entity, whether by contract or | |||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the | |||||
outstanding shares, or (iii) beneficial ownership of such entity. | |||||
"You" (or "Your") shall mean an individual or Legal Entity | |||||
exercising permissions granted by this License. | |||||
"Source" form shall mean the preferred form for making modifications, | |||||
including but not limited to software source code, documentation | |||||
source, and configuration files. | |||||
"Object" form shall mean any form resulting from mechanical | |||||
transformation or translation of a Source form, including but | |||||
not limited to compiled object code, generated documentation, | |||||
and conversions to other media types. | |||||
"Work" shall mean the work of authorship, whether in Source or | |||||
Object form, made available under the License, as indicated by a | |||||
copyright notice that is included in or attached to the work | |||||
(an example is provided in the Appendix below). | |||||
"Derivative Works" shall mean any work, whether in Source or Object | |||||
form, that is based on (or derived from) the Work and for which the | |||||
editorial revisions, annotations, elaborations, or other modifications | |||||
represent, as a whole, an original work of authorship. For the purposes | |||||
of this License, Derivative Works shall not include works that remain | |||||
separable from, or merely link (or bind by name) to the interfaces of, | |||||
the Work and Derivative Works thereof. | |||||
"Contribution" shall mean any work of authorship, including | |||||
the original version of the Work and any modifications or additions | |||||
to that Work or Derivative Works thereof, that is intentionally | |||||
submitted to Licensor for inclusion in the Work by the copyright owner | |||||
or by an individual or Legal Entity authorized to submit on behalf of | |||||
the copyright owner. For the purposes of this definition, "submitted" | |||||
means any form of electronic, verbal, or written communication sent | |||||
to the Licensor or its representatives, including but not limited to | |||||
communication on electronic mailing lists, source code control systems, | |||||
and issue tracking systems that are managed by, or on behalf of, the | |||||
Licensor for the purpose of discussing and improving the Work, but | |||||
excluding communication that is conspicuously marked or otherwise | |||||
designated in writing by the copyright owner as "Not a Contribution." | |||||
"Contributor" shall mean Licensor and any individual or Legal Entity | |||||
on behalf of whom a Contribution has been received by Licensor and | |||||
subsequently incorporated within the Work. | |||||
2. Grant of Copyright License. Subject to the terms and conditions of | |||||
this License, each Contributor hereby grants to You a perpetual, | |||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||||
copyright license to reproduce, prepare Derivative Works of, | |||||
publicly display, publicly perform, sublicense, and distribute the | |||||
Work and such Derivative Works in Source or Object form. | |||||
3. Grant of Patent License. Subject to the terms and conditions of | |||||
this License, each Contributor hereby grants to You a perpetual, | |||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||||
(except as stated in this section) patent license to make, have made, | |||||
use, offer to sell, sell, import, and otherwise transfer the Work, | |||||
where such license applies only to those patent claims licensable | |||||
by such Contributor that are necessarily infringed by their | |||||
Contribution(s) alone or by combination of their Contribution(s) | |||||
with the Work to which such Contribution(s) was submitted. If You | |||||
institute patent litigation against any entity (including a | |||||
cross-claim or counterclaim in a lawsuit) alleging that the Work | |||||
or a Contribution incorporated within the Work constitutes direct | |||||
or contributory patent infringement, then any patent licenses | |||||
granted to You under this License for that Work shall terminate | |||||
as of the date such litigation is filed. | |||||
4. Redistribution. You may reproduce and distribute copies of the | |||||
Work or Derivative Works thereof in any medium, with or without | |||||
modifications, and in Source or Object form, provided that You | |||||
meet the following conditions: | |||||
(a) You must give any other recipients of the Work or | |||||
Derivative Works a copy of this License; and | |||||
(b) You must cause any modified files to carry prominent notices | |||||
stating that You changed the files; and | |||||
(c) You must retain, in the Source form of any Derivative Works | |||||
that You distribute, all copyright, patent, trademark, and | |||||
attribution notices from the Source form of the Work, | |||||
excluding those notices that do not pertain to any part of | |||||
the Derivative Works; and | |||||
(d) If the Work includes a "NOTICE" text file as part of its | |||||
distribution, then any Derivative Works that You distribute must | |||||
include a readable copy of the attribution notices contained | |||||
within such NOTICE file, excluding those notices that do not | |||||
pertain to any part of the Derivative Works, in at least one | |||||
of the following places: within a NOTICE text file distributed | |||||
as part of the Derivative Works; within the Source form or | |||||
documentation, if provided along with the Derivative Works; or, | |||||
within a display generated by the Derivative Works, if and | |||||
wherever such third-party notices normally appear. The contents | |||||
of the NOTICE file are for informational purposes only and | |||||
do not modify the License. You may add Your own attribution | |||||
notices within Derivative Works that You distribute, alongside | |||||
or as an addendum to the NOTICE text from the Work, provided | |||||
that such additional attribution notices cannot be construed | |||||
as modifying the License. | |||||
You may add Your own copyright statement to Your modifications and | |||||
may provide additional or different license terms and conditions | |||||
for use, reproduction, or distribution of Your modifications, or | |||||
for any such Derivative Works as a whole, provided Your use, | |||||
reproduction, and distribution of the Work otherwise complies with | |||||
the conditions stated in this License. | |||||
5. Submission of Contributions. Unless You explicitly state otherwise, | |||||
any Contribution intentionally submitted for inclusion in the Work | |||||
by You to the Licensor shall be under the terms and conditions of | |||||
this License, without any additional terms or conditions. | |||||
Notwithstanding the above, nothing herein shall supersede or modify | |||||
the terms of any separate license agreement you may have executed | |||||
with Licensor regarding such Contributions. | |||||
6. Trademarks. This License does not grant permission to use the trade | |||||
names, trademarks, service marks, or product names of the Licensor, | |||||
except as required for reasonable and customary use in describing the | |||||
origin of the Work and reproducing the content of the NOTICE file. | |||||
7. Disclaimer of Warranty. Unless required by applicable law or | |||||
agreed to in writing, Licensor provides the Work (and each | |||||
Contributor provides its Contributions) on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | |||||
implied, including, without limitation, any warranties or conditions | |||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | |||||
PARTICULAR PURPOSE. You are solely responsible for determining the | |||||
appropriateness of using or redistributing the Work and assume any | |||||
risks associated with Your exercise of permissions under this License. | |||||
8. Limitation of Liability. In no event and under no legal theory, | |||||
whether in tort (including negligence), contract, or otherwise, | |||||
unless required by applicable law (such as deliberate and grossly | |||||
negligent acts) or agreed to in writing, shall any Contributor be | |||||
liable to You for damages, including any direct, indirect, special, | |||||
incidental, or consequential damages of any character arising as a | |||||
result of this License or out of the use or inability to use the | |||||
Work (including but not limited to damages for loss of goodwill, | |||||
work stoppage, computer failure or malfunction, or any and all | |||||
other commercial damages or losses), even if such Contributor | |||||
has been advised of the possibility of such damages. | |||||
9. Accepting Warranty or Additional Liability. While redistributing | |||||
the Work or Derivative Works thereof, You may choose to offer, | |||||
and charge a fee for, acceptance of support, warranty, indemnity, | |||||
or other liability obligations and/or rights consistent with this | |||||
License. However, in accepting such obligations, You may act only | |||||
on Your own behalf and on Your sole responsibility, not on behalf | |||||
of any other Contributor, and only if You agree to indemnify, | |||||
defend, and hold each Contributor harmless for any liability | |||||
incurred by, or claims asserted against, such Contributor by reason | |||||
of your accepting any such warranty or additional liability. | |||||
END OF TERMS AND CONDITIONS | |||||
Licensed under the Apache License, Version 2.0 (the "License"); | |||||
you may not use this file except in compliance with the License. | |||||
You may obtain a copy of the License at | |||||
https://www.apache.org/licenses/LICENSE-2.0 | |||||
Unless required by applicable law or agreed to in writing, software | |||||
distributed under the License is distributed on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
See the License for the specific language governing permissions and | |||||
limitations under the License. |
@ -1,5 +0,0 @@ | |||||
package common | |||||
func Arr(items ...interface{}) []interface{} { | |||||
return items | |||||
} |
@ -1,108 +0,0 @@ | |||||
hash: 98752078f39da926f655268b3b143f713d64edd379fc9fcb1210d9d8aa7ab4e0 | |||||
updated: 2018-02-03T01:28:00.221548057-05:00 | |||||
imports: | |||||
- name: github.com/fsnotify/fsnotify | |||||
version: c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9 | |||||
- name: github.com/go-kit/kit | |||||
version: 4dc7be5d2d12881735283bcab7352178e190fc71 | |||||
subpackages: | |||||
- log | |||||
- log/level | |||||
- log/term | |||||
- name: github.com/go-logfmt/logfmt | |||||
version: 390ab7935ee28ec6b286364bba9b4dd6410cb3d5 | |||||
- name: github.com/go-stack/stack | |||||
version: 817915b46b97fd7bb80e8ab6b69f01a53ac3eebf | |||||
- name: github.com/gogo/protobuf | |||||
version: 1adfc126b41513cc696b209667c8656ea7aac67c | |||||
subpackages: | |||||
- gogoproto | |||||
- proto | |||||
- protoc-gen-gogo/descriptor | |||||
- name: github.com/golang/snappy | |||||
version: 553a641470496b2327abcac10b36396bd98e45c9 | |||||
- name: github.com/hashicorp/hcl | |||||
version: 23c074d0eceb2b8a5bfdbb271ab780cde70f05a8 | |||||
subpackages: | |||||
- hcl/ast | |||||
- hcl/parser | |||||
- hcl/scanner | |||||
- hcl/strconv | |||||
- hcl/token | |||||
- json/parser | |||||
- json/scanner | |||||
- json/token | |||||
- name: github.com/inconshreveable/mousetrap | |||||
version: 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75 | |||||
- name: github.com/jmhodges/levigo | |||||
version: c42d9e0ca023e2198120196f842701bb4c55d7b9 | |||||
- name: github.com/kr/logfmt | |||||
version: b84e30acd515aadc4b783ad4ff83aff3299bdfe0 | |||||
- name: github.com/magiconair/properties | |||||
version: 49d762b9817ba1c2e9d0c69183c2b4a8b8f1d934 | |||||
- name: github.com/mitchellh/mapstructure | |||||
version: b4575eea38cca1123ec2dc90c26529b5c5acfcff | |||||
- name: github.com/pelletier/go-toml | |||||
version: acdc4509485b587f5e675510c4f2c63e90ff68a8 | |||||
- name: github.com/pkg/errors | |||||
version: 645ef00459ed84a119197bfb8d8205042c6df63d | |||||
- name: github.com/spf13/afero | |||||
version: bb8f1927f2a9d3ab41c9340aa034f6b803f4359c | |||||
subpackages: | |||||
- mem | |||||
- name: github.com/spf13/cast | |||||
version: acbeb36b902d72a7a4c18e8f3241075e7ab763e4 | |||||
- name: github.com/spf13/cobra | |||||
version: 7b2c5ac9fc04fc5efafb60700713d4fa609b777b | |||||
- name: github.com/spf13/jwalterweatherman | |||||
version: 7c0cea34c8ece3fbeb2b27ab9b59511d360fb394 | |||||
- name: github.com/spf13/pflag | |||||
version: 97afa5e7ca8a08a383cb259e06636b5e2cc7897f | |||||
- name: github.com/spf13/viper | |||||
version: 25b30aa063fc18e48662b86996252eabdcf2f0c7 | |||||
- name: github.com/syndtr/goleveldb | |||||
version: b89cc31ef7977104127d34c1bd31ebd1a9db2199 | |||||
subpackages: | |||||
- leveldb | |||||
- leveldb/cache | |||||
- leveldb/comparer | |||||
- leveldb/errors | |||||
- leveldb/filter | |||||
- leveldb/iterator | |||||
- leveldb/journal | |||||
- leveldb/memdb | |||||
- leveldb/opt | |||||
- leveldb/storage | |||||
- leveldb/table | |||||
- leveldb/util | |||||
- name: golang.org/x/crypto | |||||
version: edd5e9b0879d13ee6970a50153d85b8fec9f7686 | |||||
subpackages: | |||||
- ripemd160 | |||||
- name: golang.org/x/sys | |||||
version: 37707fdb30a5b38865cfb95e5aab41707daec7fd | |||||
subpackages: | |||||
- unix | |||||
- name: golang.org/x/text | |||||
version: c01e4764d870b77f8abe5096ee19ad20d80e8075 | |||||
subpackages: | |||||
- transform | |||||
- unicode/norm | |||||
- name: gopkg.in/yaml.v2 | |||||
version: d670f9405373e636a5a2765eea47fac0c9bc91a4 | |||||
testImports: | |||||
- name: github.com/davecgh/go-spew | |||||
version: 346938d642f2ec3594ed81d874461961cd0faa76 | |||||
subpackages: | |||||
- spew | |||||
- name: github.com/fortytw2/leaktest | |||||
version: 3b724c3d7b8729a35bf4e577f71653aec6e53513 | |||||
- name: github.com/pmezard/go-difflib | |||||
version: d8ed2627bdf02c080bf22230dbb337003b7aba2d | |||||
subpackages: | |||||
- difflib | |||||
- name: github.com/stretchr/testify | |||||
version: 12b6f73e6084dad08a7c6e575284b177ecafbc71 | |||||
subpackages: | |||||
- assert | |||||
- require |
@ -1,38 +0,0 @@ | |||||
package: github.com/tendermint/tmlibs | |||||
import: | |||||
- package: github.com/go-kit/kit | |||||
version: ^0.6.0 | |||||
subpackages: | |||||
- log | |||||
- log/level | |||||
- log/term | |||||
- package: github.com/go-logfmt/logfmt | |||||
version: ^0.3.0 | |||||
- package: github.com/gogo/protobuf | |||||
version: ^1.0.0 | |||||
subpackages: | |||||
- gogoproto | |||||
- proto | |||||
- package: github.com/jmhodges/levigo | |||||
- package: github.com/pkg/errors | |||||
version: ^0.8.0 | |||||
- package: github.com/spf13/cobra | |||||
version: ^0.0.1 | |||||
- package: github.com/spf13/viper | |||||
version: ^1.0.0 | |||||
- package: github.com/syndtr/goleveldb | |||||
subpackages: | |||||
- leveldb | |||||
- leveldb/errors | |||||
- leveldb/iterator | |||||
- leveldb/opt | |||||
- package: golang.org/x/crypto | |||||
subpackages: | |||||
- ripemd160 | |||||
testImport: | |||||
- package: github.com/stretchr/testify | |||||
version: ^1.2.1 | |||||
subpackages: | |||||
- assert | |||||
- require | |||||
- package: github.com/fortytw2/leaktest |
@ -1,54 +0,0 @@ | |||||
#! /bin/bash | |||||
set -e | |||||
# NOTE: go-alert depends on go-common | |||||
REPOS=("autofile" "clist" "db" "events" "flowrate" "logger" "process") | |||||
mkdir common | |||||
git mv *.go common | |||||
git mv LICENSE common | |||||
git commit -m "move all files to common/ to begin repo merge" | |||||
for repo in "${REPOS[@]}"; do | |||||
# add and fetch the repo | |||||
git remote add -f "$repo" "https://github.com/tendermint/go-${repo}" | |||||
# merge master and move into subdir | |||||
git merge "$repo/master" --no-edit | |||||
if [[ "$repo" != "flowrate" ]]; then | |||||
mkdir "$repo" | |||||
git mv *.go "$repo/" | |||||
fi | |||||
set +e # these might not exist | |||||
git mv *.md "$repo/" | |||||
git mv README "$repo/README.md" | |||||
git mv Makefile "$repo/Makefile" | |||||
git rm LICENSE | |||||
set -e | |||||
# commit | |||||
git commit -m "merge go-${repo}" | |||||
git remote rm "$repo" | |||||
done | |||||
go get github.com/ebuchman/got | |||||
got replace "tendermint/go-common" "tendermint/go-common/common" | |||||
for repo in "${REPOS[@]}"; do | |||||
if [[ "$repo" != "flowrate" ]]; then | |||||
got replace "tendermint/go-${repo}" "tendermint/go-common/${repo}" | |||||
else | |||||
got replace "tendermint/go-${repo}/flowrate" "tendermint/go-common/flowrate" | |||||
fi | |||||
done | |||||
git add -u | |||||
git commit -m "update import paths" | |||||
# TODO: change any paths in non-Go files | |||||
# TODO: add license |