Our private suite of experiments used virtual machine clusters of around 1700 and 900 slave nodes in Amazon’s Elastic Compute Cloud (EC2) with each single machine equipped with 1.73Ghz Xeon LC-3518, 32 GB memory, 256 KiB L2 Cache. The EC2 instances emulate semi-synthetic and real-world environments with deployment across 9 data centers in Asia, Europe and America.
We deployed our testnet node instances with the PoB consensus engine on up to 6 shards and achieved an average throughput between 7000-8000 transactions per second.
Our proprietary consensus algorithm, Proof-of-Believability is up and running in a real environment. The source code is available to view in the consensus folder of the IOST GitHub project.
The PoB consensus uses a node’s contribution and stake balance to gain block creation chances by becoming a validator. The algorithm factors in both transactions verified and token balance to determine the contribution to the network.
A challenge faced by traditional PoS consensus mechanisms is the tendency towards centralization. In order to mitigate this risk, after validating a block, the PoB system will automatically clear any remaining Servi token balance.
Servi tokens are implemented this way and with the following desired properties: non-tradable, self-destructive and self-issuing. Each transaction verification counts as 1 Servi and each staked IOST counts as 1, the combination of the 2 is used to efficiently select validators.
We have a simple game ready to play on the test network at launch to play with the network and win some real IOST. Anyone can play this game by requesting testnet IOST here and then heading over to the “Lucky Bet” page.
Real IOST will be awarded every day for the first 3 days based on leaderboard. First, second and third place will receive 10,000 IOST, 5000 IOST and 2000 IOST respectively. 4th to 10th place will each receive 500 IOST. There will also be 100 lucky winners and each of them will receive 100 IOST.
*There is a 0.01 testnet IOST fee per bet and 5% gas fee from total prize pool, this is for testnet purposes only and will not be a feature of Mainnet
As the IOST blockchain is still in its early stages, our team would love to see developers test our network. We will release specifics for a bug bounty in the near future. In order to provide feedback and report any bugs for the Everest testnet, please email us at team@iost.io or join our community channels on Twitter, Reddit, Telegram and Discord.
We encourage you to get involved and play with our testnet. As always, let us know your thoughts and we look forward to continuing to improve the IOST blockchain.
Happy hacking!
The IOST faucet provides Test IOST to users. Test IOST allows users to run smart contracts on the IOST testnet. Users can utilize the faucet to refill on Test IOST without requiring assistance from the developers. You can access the testnet faucet at here.
There is functionality to automatically generate a new address for users. Alternatively, users can also request tokens for their existing account. The address is where you want to receive the funds and each time you can request 10 Test IOST after security verification. The faucet has limits on the rate of request from any address.
*Important: Please do not try to use real IOST on the testnet.
The IOST testnet blockchain explorer can be found at https://explorer.iost.io.
It displays information about activities on the blockchain and shows transaction history and block details. The IOST testnet fully supports smart contract deployment, which means you can find smart contract source code on the explorer.
The testnet wallet is the client component used to issue transactions on the testnet. It can be utilized for the storage and transfer of Test IOST.
This component enables users to keep their private keys on their own machines and not on any part of the testnet. The wallet makes users issue transactions with parameters that are specific to the VM.
*Important: Please note that this is not a fully functional wallet. The wallet has a command line interface for issuing transactions. Please ensure that you use the faucet to obtain Test IOST, and do not try to use real cryptocurrency when running your smart contracts.
To install and run wallet:
> ./build/iwallet
IOST testnet nodes are simple to run for all developers. First make sure your Golang version is 1.10.1 or newer and your Redis version is 4.0.10 or newer (we recommend the Redis stable version). Once your system is updated, you can obtain the testnet repository from “github.com/iost-official/prototype”. Finally to run a testnet node, simply start redis and iserver.
> redis-server > ./build/iserver — config iserver/iserver.yml
IOST enables you to build a private blockchain network. After setting up network and docker config, you can build a docker image of IOST release. Then you can run the register server, note that you have to set mode to “private” for a private network:
> docker run -d -p 30304:30304 — name iost_register \ -v $PROJECT/test/data/register:/workdir/data \ $DOCKER_IMAGE ./register — mode private
After the register server is up and running, you can start your desired number of IOST servers using docker. This enables you to send transactions between nodes in your own private blockchain network.
IOST testnet smart contract advanced features include:
We aim to increase developer efficiency to make it easier for developers to ship infrastructure and products quickly. To accomplish this, we have focused on building a suite of tools along with automation infrastructure that are reliable and fast, ensuring that developers can spend time on the things that matter. IOST Smart contract Playground is one of our developer tools. You can use it to play and test smart contracts locally.
The usage is fairly simple:
playground [-v init_values.yml] [source_code_1][source_code_2]…
flag -v specified .yaml files which imply init variant, source codes will be compiled and run by order. You can explore more features by using playground -h.
The IOST smart contract is an API oriented smart contract. API declarations enable validation and runtime checks, argument passing and authenticating, and instrumentation easily. A sample IOST smart contract looks like:
— — main — your own comments — @gas_limit 11 — @gas_price 0.0001 — @param_cnt 0 — @return_cnt 1 function main() Put(“hello”, “world”) return “success” end — f
Smart contracts currently support private and public mode. Public contracts can be called by everyone, and private contracts can only be called by publishers in inter-contract calls. Further privilege controls will be added in future releases.
You can use github to directly report any bugs, issues or feedback with our testnet. You can also submit directly via email at team@iost.io.
Follow Us on Twitter Facebook Telegram