Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
zhaozhongni authored Nov 5, 2019
1 parent f6befcd commit 4010200
Showing 1 changed file with 44 additions and 15 deletions.
59 changes: 44 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,42 @@
[Create Test Account](#create-test-accounts)

# CertiK Chain Testnet 1.0
# CertiK Chain Testnet

This repository hosts the `CertiK Chain` implementation and testnet information. More documents and details will be released here over the progress of testnet 1.0.
This repository hosts the `CertiK Chain` implementation and testnet information. More documents and details will be released here over the progress of testnet.

`CertiK Chain` is the key component in CertiK's vision of building end-to-end secure and trustworthy infrastructure for the blockchain world. Here is a brief [introduction](https://medium.com/certik/introducing-the-certik-chain-26629248da3c) to the chain.

The first version of `CertiK Chain` is the testnet 1.0, which will go through three stages: closed alpha, open beta, and full testnet 1.0. The overall goal of testnet 1.0 is to define and implement a majority of the `CertiK Chain` features and build a strong `CertiK Chain` developer and user community by providing opportunities to contribute to the chain design and development, to evaluate the chain's main features, and to develop smart contracts and other usage scenarios around the chain.
The first version of `CertiK Chain` is the testnet, which will go through three stages: closed alpha, open beta, and full testnet. The overall goal of testnet is to define and implement a majority of the `CertiK Chain` features and build a strong `CertiK Chain` developer and user community by providing opportunities to contribute to the chain design and development, to evaluate the chain's main features, and to develop smart contracts and other usage scenarios around the chain.

As testnet 1.0 moves through its various stages, CertiK Foundation expects to provide ample opportunities for active members of the community to be rewarded for their contributions.
As testnet moves through its various stages, CertiK Foundation expects to provide ample opportunities for active members of the community to be rewarded for their contributions.

## Timeline

* Closed Alpha (July 22 2019)
* Open Beta (To be announced)
* Full Testnet 1.0 (To be announced)
* Closed Alpha 1.0 (July 22 2019)
* Closed Alpha 2.0 (November 04 2019)
* Open Beta 3.0 (To be announced)
* ...
* Full Testnet (To be announced)

## Closed Alpha (**CURRENT**)
## Closed Alpha (**CURRENT STAGE**)

The very first stage of testnet 1.0 is the closed alpha stage, which is the current stage. At the begining of this stage, most chain features are either not fully tested, partially implemented, or even unimplemented. Hence for this stage we talk about "what (mostly) works" rather than "what does not work".
The very first stage of testnet is the closed alpha stage, which is the current stage. At the begining of this stage, most chain features are either not fully tested, partially implemented, or even unimplemented. Hence for this stage we talk about "what (mostly) works" rather than "what does not work".

During this stage, testnet backend and frontend are expected to receive a lot of updates, often causing the chain to be re-deployed from scratch. The validator set size will be small (e.g., no more than 20).

The closed alpha stage will last until most testnet 1.0 features are implemented and alpha-tested.
The closed alpha stage will last until most testnet features are implemented and alpha-tested.

## Open Beta

The second stage of testnet 1.0 is the open beta stage. It starts when the closed alpha stage exits with most testnet 1.0 features implemented and alpha-tested. For this stage we switch to talk about "what is missing" instead of "what works".
The second stage of testnet is the open beta stage. It starts when the closed alpha stage exits with most testnet features implemented and alpha-tested. For this stage we switch to talk about "what is missing" instead of "what works".

During this stage, testnet backend and frontend are expected to receive constant updates, occasionally causing the chain to be re-deployed from scratch. The validator set size will be medium (e.g., no more than 50).

The open beta stage will last until all testnet 1.0 features are implemented and properly tested.
The open beta stage will last until all testnet features are implemented and properly tested.

## Full Testnet 1.0
## Full Testnet

The final full stage of testnet 1.0 starts when the open beta stage exits with all testnet 1.0 features properly tested.
The final full stage of testnet starts when the open beta stage exits with all testnet features properly tested.

During this stage, testnet backend and frontend are exepcted to receive on-demand updates. Branching instead of re-deployment will be preferred when solving chain divergence. The validator set size will be large (e.g., no more than 100).

Expand All @@ -50,7 +52,7 @@ The latest chain node binary and CLI tool binary can be downloaded from https://

## Run A Full Node

During the closed alpha stage, full node addresses for the CLI tool to connect to can be obtained from the mailing list. It is also possible to run your own full nodes and connect the CLI tool to them. Later in the closed alpha stage you will be able to convert your full nodes into validator nodes.
During the closed alpha stage, full node addresses for the CLI tool to connect to can be obtained from the mailing list. It is also possible to run your own full nodes and connect the CLI tool to them. In next section you will be shown how to convert your full nodes into validator nodes.

With `certikd` one can run full nodes of the `CertiK Chain`. Its configuration needs to be properly initialized.

Expand Down Expand Up @@ -87,6 +89,33 @@ certikd start

To connect to the full node from CLI tool running on the same machine, use `tcp://localhost:26657`.

## Convert a Full Node into Validator

As `CertiK Chain` is designed with focus on ultimate blockchain security, one of the security requirements is that all validator nodes must be **certified** by either `CertiK` or other approved **certifiers**. The actual range of validator node ceritification is not fully defined during the closed alpha stage, but in general `CertiK Chain` validator nodes are expected to be powerful with good connectivity, use latest official chain node software releases, and eventually run on secure systems software such as `CertiKOS` (this is unavailable during closed alpha).

So the first step to convert the above full node into a validator is to get the node certified by `CertiK`, the only approved certifier at this moment. See the mailing list for instructions on how to get the certification.

A validator node is assigned to a chain account, which should be created and charged with CKT and CKG tokens following the `Create Test Accounts` section below.

A certified full node can then be used to create a validator via the `create-validator` transaction. Below is an example.

```
certikcli tx staking create-validator \
--amount=<amount of uckt to delegate to the validator>uckt \
--pubkey=$(certikd tendermint show-validator) \
--moniker=<name of the validator, which can be diffferent from account name> \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--gas="auto" \
--gas-adjustment=1.5 \
--fees=5000uckg \
--from=<validator chain account name>
```

If the transaction is successful, your validator should appear in either the `Active` or `Inactive` tabs on the [chain explorer's validators page](https://explorer.certik.foundation/validators).

###

## Use CLI Tool to Access Testnet
Expand Down

0 comments on commit 4010200

Please sign in to comment.