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 |