Tkchain
Tkchain is a scalable, high-throughput Proof-of-Stake blockchain that is fully compatible and
interoperable with Ethereum. It's build using the the Cosmos SDK which runs on top of Tendermint Core consensus engine.
WARNING: Tkchain is under VERY ACTIVE DEVELOPMENT and should be treated as pre-alpha software. This means it is not meant to be run in production, its APIs are subject to change without warning and should not be relied upon, and it should not be used to hold any value. We will remove this warning when we have a release that is stable, secure, and properly tested.
Note: Requires Go 1.15+
Build
Install Go
Install go by following the official docs. Remember to set your $PATH environment variable, for example:https://golang.org/doc/install
mkdir -p $HOME/go/bin
echo "export PATH=$PATH:$(go env GOPATH)/bin" >> ~/.bash_profile
source ~/.bash_profile
::: tip Go 1.15+ is required for the Cosmos SDK. :::
git clone https://github.com/Khaos-Labs/tkchain.git
cd tkchain && make install
If this command fails due to the following error message, you might have already set LDFLAGS prior to running this step.
github.com/Khaos-Labs/tkchain/cmd/tkchaind
flag provided but not defined: -L
usage: link [options] main.o
...
make: *** [install] Error 2
Unset this environment variable and try again.
LDFLAGS="" make install
NOTE: If you still have issues at this step, please check that you have the latest stable version of GO installed.
That will install the gaiad binary. Verify that everything is OK:
tkchaind version --long
Quick Start
To learn how the Tkchain works from a high-level perspective, go to the Introduction section from the documentation.
For more, please refer to the Tkchain Docs, which are also hosted on docs.tkchain.zone.
Tests
Unit tests are invoked via:
make test
To run JSON-RPC tests, execute:
make test-rpc
There is also an included Ethereum mainnet exported blockchain file in importer/blockchain
that includes blocks up to height 97638
. To execute and test a full import of
these blocks using the EVM module, execute:
make test-import
You may also provide a custom blockchain export file to test importing more blocks
via the --blockchain
flag. See TestImportBlocks
for further documentation.
The following chat channels and forums are a great spot to ask questions about Tkchain: