# tcp_node **Repository Path**: ficashChia/tcp_node ## Basic Information - **Project Name**: tcp_node - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-01 - **Last Updated**: 2021-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TCPSWAP TCP is a proof-of-value blockchain built on the [Substrate](https://github.com/paritytech/substrate) framework, with support of on-chain governance and online upgrades. ## Status The network was launched in September 2019. The first hard fork, code-named **Slag Ravine** happened in December 2019, at era 0 block 100,000. The second hard fork, code-named **Swamp Bottom** happened at era 0 block 320,000 on 6th May 2020. The current Tcpswap blockchain enabled Substrate's balances and governance pallet modules. Smart contract is a planned but not yet enabled feature, due to stability concerns. ## Build ### Prerequisites Clone this repo and update the submodules: ```bash git clone cd tcp_node git submodule update --init --recursive ``` Install Rust and required tools: ```bash curl https://sh.rustup.rs -sSf | sh source $HOME/.cargo/env ./scripts/init.sh ``` Install necessary dependencies. On Ubuntu, run the following: ```bash sudo apt install -y cmake pkg-config libssl-dev git gcc build-essential clang libclang-dev ``` ### Full Node ```bash cargo run --release ``` ### Transition from Era 0 If you previously run Era 0 full node, please purge the current block storage before continue. ```bash cargo run --release -- purge-chain ``` ### Mining #### Import or generate a mining key TcpSwap implements signed mining. To mine TcpSwap blocks, you have to have the coinbase private key stored in the mining software, as a new signature is produced for every new nonce. We refer to the private key for signed mining as the **mining key**. The eaiest way to get a mining key is to generate a new one using the `generate-mining-key` command: ```bash cargo run --release -- generate-mining-key ``` Keep your secret seed in a secure place. Alternatively, you can also import an existing private key as the mining key, using the `import-mining-key` command: ```bash cargo run --release -- import-mining-key "" ``` #### Pass author argument to node for mining Remember either the public key or the address, and pass it to node for mining. For example: ``` cargo run --release -- --validator --author 0x7e946b7dd192307b4538d664ead95474062ac3738e04b5f3084998b76bc5122d ``` ## Proof of Work Parameters * **Algorithm**: RandomX * **Block time**: 60 seconds * **Total issurance**: Governed on-chain, expected to be no more than 210 million KLP. * No premine ## Disclaimer This project is a side project by karry, and is not endorsed by Parity Technologies.