Skip to content

Releases: shentufoundation/testnet

v0.13.3-shentu-testnets

08 Sep 19:19
7e6c986
Compare
Choose a tag to compare

This is a fix release that fixes some of the bugs in x/oracle.
You are recommended to replace running 0.13.x versions of certikd and certikcli with this version.

The replace does NOT require any certikd or certikcli environment change. Just direct replace can be done safely, after you close any running certikd or certikcli process.
If you are syncing from height 0 in shentu-rts, boot up your node with 0.13.2 and switch to 0.13.3 after it starts syncing.

Also the attached genesis refers to shentu-incentivized-3 testnet genesis.

v0.13.2-raise-the-stakes

04 Sep 17:22
Compare
Choose a tag to compare

For shentu-rts participants, you can use binaries from either 0.13.2 or 0.13.1. The only difference they have is certikd migrate functionality, which only affects shentu-incentivized nodes during the upgrade to shentu-incentivized-3

For shentu-incentivized-x participants, you MUST use this version while upgrading. Else, you will have a wrong genesis file.

This patch adds genesis data generation and enables the oracle module.

How to Upgrade Your Node for the Incentivized Testnet

Please follow the readme with the binaries below to upgrade from shentu-incentivized-2 to shentu-incentivized-3

https://github.com/certikfoundation/chain/blob/master/shentu-incentivized-3/README.md

v0.13.1-raise-the-stakes

28 Aug 22:31
Compare
Choose a tag to compare

Shentu-Incentivized validators: please do not use this version for migration. Use 0.13.2 instead.

For validators intending to maintain their nodes for the current Shentu Incentivized-2 testnet, upgrade instructions will come out early next week to upgrade the binaries, similar with 0.12 upgrade.

Shentu RTS genesis time will be Sep. 7th, 12:00AM EDT (subject to change).

CertiK Raise the Stakes

Raise the Stakes will start off new. You should go through the following instructions to submit a genesis transaction if you are selected as one of the participants of the CertiK validator competition program, Raise the Stakes.

Notes: if you are not planning to maintain the node for the current testnet (shentu-incentivized-2) to the validator program testnet (shentu-rts), please unbond your validator before shutting down your node to ensure the current testnet remains healthy.

How to Create Your Genesis Transaction

Caution: make sure you are using the correct certikd binary when following the instructions. from step 3, you should use the new certikd binary. Also, make sure you are using the same account key you submitted for the Raise the Stakes.

The genesis.json file is in the assets section below. You have to download it and place it in the config folder to generate a valid gentx.

Link to instructions for creating your genesis transaction

v0.13-raise-the-stakes

21 Aug 23:27
Compare
Choose a tag to compare

NOTE: The gentx collection is on-hold. Please refer to our discord channel announcement https://discord.gg/d6Bfa7 for further announcements

CertiK Raise the Stakes

This is a new genesis release. You should go through the following instructions to submit a genesis transaction if you are selected as one of the participants of the CertiK validator competition program, Raise the Stakes.

Notes: if you are switching from the current testnet (shentu-incentivized-2) to the validator program testnet (shentu-rts), please unbond your validator before shutting down your node to ensure the current testnet remains healthy.

How to Create Your Genesis Transaction

Caution: make sure you are using the correct certikd binary when following the instructions. from step 3, you should use the new certikd binary. Also, make sure you are using the same account key you submitted for the Raise the Stakes.

The genesis.json file is in the assets section below. You have to download it and place it in the config folder to generate a valid gentx.

  1. Download relevant binaries according to your OS.
  2. Run the following command to remove any unnecessary certikd data from before.
certikd unsafe-reset-all
  1. Run the following command to initialize the certikd directory.
certikd init <node_name> --chain-id=shentu-rts
  1. Download genesis.json file and place it in .certikd directory (~/.certikd/config/genesis.json by default, replace the existing genesis if you have one).
  2. Initially, all genesis validators are granted 100,000 CTK's, equivalent to 100,000,000,000 UCTK's.
  3. Run the following command to generate your genesis transaction, registering you as the genesis validator with initial staked token amount of <amount>.
    1. Note that you need to use the same account key you used to register for the Raise the Stakes.
certikd gentx --name <key_name> --amount <amount>
  1. You should see in the console log where the gentx was generated, like below:
Genesis transaction written to "/home/ubuntu/.certikd/config/gentx/gentx-4b289001f5578a10420e9d64243fbb09b156bec7.json"
  1. Submit the gentx through a Pull Request adding your genesis transaction file (gentx-<some_code>.json) under the gentx/ directory of this repo.
    1. For reference: https://opensource.com/article/19/7/create-pull-request-github

v0.11-incentive-testnet

24 Jul 20:11
f4c666d
Compare
Choose a tag to compare

CertiK Incentivized Testnet Upgrade

This is an upgrade release. If you were running a validator or a full node, carefully read the following instructions to upgrade to the v0.11 testnet. If you are new to the CertiK Incentivized Testnet, you can join after we release the genesis file here.

  1. The upgrade height is planned to be 191300, around 14:00 PDT (17:00 EDT and 21:00 UTC) 07-27-2020. EDIT: Due to increased block time, the actual time can be as late as 15:00 PDT (18:00 EDT and 22:00 UTC) 07-27-2020
  2. The old v0.10 chain will halt after that height.

How to Upgrade your node

Caution: make sure you are using the correct certikd binary when following the instructions. from step 3, you should use the new certikd binary.

The genesis.json file is in the assets section below. We recommend you to download it instead of migrating from the old chain and skip steps 2~5.

  1. Download relevant binaries according to your OS.
  2. Halt the running certikd at height 191300.
    1. You can do this by providing a halt flag and restarting the daemon before the actual upgrade with the following command
    2. certikd start --halt-height=191300
  3. Using the new certikd binary, run the following command:
    1. certikd export --for-zero-height --height 191300 > genesis_old.json
  4. Get the new genesis time using the following command:
    1. for linux:
      1. time=$(curl https://certik-shentu-incentivized-vermilionbird.noopsbycertik.com/blocks/191300 | jq -r '.block["header"]["time"]') && TZ=UTC date -d "$time +60 min" +"%Y-%m-%dT%H:%M:%SZ"
      2. note you need jq to be installed beforehand.
    2. for macOS:
      1. curl https://certik-shentu-incentivized-vermilionbird.noopsbycertik.com/blocks/191300 | jq -r '.block["header"]["time"]'|xargs -0 date -v +60M -j -f "%Y-%m-%dT%H:%M:%S" +"%Y-%m-%dT%H:%M:%SZ"
    3. If the remote endpoint does not work, you can retrieve the genesis time directly from your node (you need to have your certikd running for this. run certikd start, execute the command to get the genesis time, and then kill the certikd process) (tested on WSL)
      1. time=$(certikcli query block 191300 --trust-node=true | jq -r '.block["header"]["time"]') && TZ=UTC date -d "$time +60 min" +"%Y-%m-%dT%H:%M:%SZ"
  5. Migrate the new genesis file using the following command:
    1. certikd migrate genesis_old.json --chain-id=shentu-incentivized-2 --genesis-time=”<genesis_time>” > genesis.json
  6. Make sure to terminate any running certikd process. Copy the new genesis file to certikd config directory (by default .certikd/config/genesis.json).
  7. update the seed nodes with the provided list. Edit the config file under the config directory.
    1. for example, seeds = "9e29e87375a839ac785fed7bcfe8c56866313e18@ec2-3-209-80-51.compute-1.amazonaws.com:26656"
  8. Run certikd unsafe-reset-all
  9. start certikd.

Note that you can skip 3~5 by waiting out and downloading the new official genesis file, planned to be updated here.

The chain will not start until the genesis time. Once you are done setting things up and started certikd process, wait until the genesis time is reached in UTC to see new blocks being produced.

Make sure you are using the new binary after step 2.

Here are the seed nodes you can connect to

# List of seed nodes to connect to
9e29e87375a839ac785fed7bcfe8c56866313e18@ec2-3-209-80-51.compute-1.amazonaws.com:26656
43cf8249245e5df93dc02108bee48e74f2748903@ec2-34-204-190-245.compute-1.amazonaws.com:26656
990a3669b7e21dedd58a02b85726d35a12fb8c09@ec2-3-235-76-135.compute-1.amazonaws.com:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656

You can add the seeds using the above list. Separate them by a comma. For example:

seeds = "9e29e87375a839ac785fed7bcfe8c56866313e18@ec2-3-209-80-51.compute-1.amazonaws.com:26656,43cf8249245e5df93dc02108bee48e74f2748903@ec2-34-204-190-245.compute-1.amazonaws.com:26656"

Note that these won't be up until we finish our own upgrade process.

genesis.json shasum
d7b7403d8bba0bed6aeb0e15d351882545d23dc3
sha256sum
bfc140b9e5f020185105c208fb813f2be00308823c0ac1a284e26e727a51a116

Changelog :

Features

  • (x/cert) Added command for decertifying a validator.

Improvements

  • (x/cert) Improved query results for certificates.

Bug Fixes

  • (x/cvm) Fixed contract storage inconsistency when export-import.
  • (x/cvm) Calling a pure type function is also rerouted to query.
  • (x/cert) Validator consensus public key now appears as string in a query.

v0.10-incentive-testnet

15 Jul 18:04
f564708
Compare
Choose a tag to compare

CertiK Incentivized Testnet

The incentivized testnet release comes with a brand new chain with a clean history. Any old history will be discarded in favor of this chain.

How to Join Incentivized Testnet

  1. Download relevant binary and data files.
    1. shasum of genesis.json is 44ca3e4049d0ac0e24a5087f7c767ffd01a7d38a
  2. Establish a certikd environment with command certikd init --chain-id shentu-incentivized <your_moniker>. Replace <your_moniker> with a name of your choice.
  3. Replace the genesis.json file in the config directory. By default, it's located in ~/.certikd/config/.
  4. Configure youre node's parameters.
    1. Open up config.toml file. By default, it's located in ~/.certikd/config/config.toml.
    2. Modify the variables inside. Usually you want to set minimum gas price if you are planning to run a validator. Modify persistent_peers and/or seeds list to the provided list.
  5. Start certikd daemon. You can start through certikd start &> certikd.log. Any output from the daemon will be written to certikd.log
  6. create a key in the testnet via certikcli keys add <key_name> command. Replace <key_name> with a name of your choice.
  7. You can head to explorer faucet to receive some funds to your generated account.
  8. You are all set to participate in the testnet!

For further information, you can refer to detailed guide to join certikd testnet

Changelog :

API Breaking Changes

  • (x/cert) Added sourcecodeHash flag for issuing a certificate.

State Machine Breaking Changes

  • (x/cert) Merged proof/auditing into issue-certificate by flags.
  • (x/slashing) Changed slashing factor to 0% for both downtime and double-sign.

Features

  • (x/cert) Refactored auditing and proof and added queriers with filter options.
  • (x/gov) Added software upgrade proposal.
  • (x/gov) Modified gov keeper for certifier update proposals.
  • (x/gov) Added Handler for when certifier proposal passes.
  • (x/gov) Added CLI and REST for certifier update proposal.

Improvements

  • (x/cert) Improved the query responses in cert module.

Bug Fixes

  • (x/cert) Fixed the error when exporting genesis states of cert module.

v0.9-testnet

02 Jul 21:24
Compare
Choose a tag to compare

This is a new release for CertiK Chain with various different features and bug fixes. The 0.8 chain data was copied over at height 1343300.

To upgrade to the new binary, there are two options.

  1. Startup from genesis (WARNING: due to high load of data in the genesis file, this method will require more than 8GB of RAM to follow.)

    1. Stop the running certik daemon (killall certikd).
    2. download the genesis.json file and replace config/genesis.json. (by default it is located in ~/.certikd/config/genesis.json.
    3. run certikd unsafe-reset-all.
    4. copy content in persistent_peers.txt to config/config.toml, under persistent_peers = "<paste content here>".
    5. run certikd start with the new binary.
    6. Note since the genesis data is big, the startup might take a few minutes.
  2. Starting from a pre-loaded state at height 1 (takes up to 2GB of memory)

    1. steps 1 through 4 should be the same with above.
    2. After copying persistent peers over, download data.zip
    3. Unzip data.zip, and copy over the content of the unzipped folder under data/ directory.

Note that it might take up to 5 minutes to load and commit the first height when starting off from genesis.

If you were a validator before the update, you will have to unjail yourself using the command certikcli tx slashing unjail.
It is crucial you run certikd unsafe-reset-all to prevent any unexpected behavior after you upgrade.

Changelog

Features

  • Update basic structures for certification module.
  • Add basic operations for certifiers and validators in certification module.
  • Custom Governance module
  • Add Cosmos's community pool spend proposal.
  • Add REST endpoints in the governance module for plain-text proposals.
  • optional --caller flag in view query now allows you to specify which account the simulated transaction is sent from
  • Introduce certificate and added compilation as one of the certificate types.
  • Allow cert query for all validators and change validators' parameter to crypto.Pubkey

Bug Fixes

  • Fix formatting error of abi query.
  • Fix CVM gas estimation while transaction gas limit handling.
  • Changed the way to query a certified validator and fixed when getting certifier of a validator.
  • Add return message while querying uncertified smart contract to replace panic
  • Add RESTful api for validators query

State Machine Breaking

  • Remove flat intrinsic gas cost from CVM.

Improvements

  • Add voting power (really amount staked) to REST votes query.
  • Add txhash to Deposit and Vote types so that they can be queried.
  • Add events for deposit and vote. Now they can be queried correctly.
  • Add Swagger API autogen.
  • Changes and fixes CVM contract deployment format.
  • Add CVM call/deploy commands under the root tx command.
  • Add e2e test for state export/import.
  • Custom "burning" mechanism removed. Now burns tokens while slashing.
  • Introduce maximum gas used by CVM per transaction.

v0.8.1-testnet

25 Apr 06:31
Compare
Choose a tag to compare

A small enhancement from the 0.8.0 testnet version, with --pruning flag for certikd start command for memory management.

pruning will have 3 options:

  • nothing: the node will retain every past states.
  • everything: the node will discard all past states. Note the history will not be pruned.
  • syncable: the node will retain every 10000th state and most 100 recent states. This is now the default strategy.

v0.8-testnet

31 Mar 23:37
2c3ca11
Compare
Choose a tag to compare
v0.8-testnet Pre-release
Pre-release

This is the first full testnet release.

Major changes in this release.

  • Refined CVM gas model
  • DeepSEA smart contract support
  • New certification types: validator platform, contract auditing, contract proof

v0.5-beta

27 Nov 19:29
fdb7d81
Compare
Choose a tag to compare
v0.5-beta Pre-release
Pre-release

This is the first open beta testnet release.

Major changes in this release.

  • CVM execution gas model is consistent with EVM

  • For beta testnet 3.0