Git Handle | Points |
---|---|
huglester | 7100 |
dolphintwo | 3300 |
bentiancai629 | 2800 |
includeleec | 1600 |
wetezos | 3400 |
Tomshi | 3200 |
xunppchen (kiwi) | 3600 |
rewseRE(noderunners) | 2500 |
Hashquark-research | 2300 |
HeyRoseWu | 2000 |
huluyisheng (Wendy) | 2100 |
bl-mds(BAM) | 3700 |
mstephen5 | 1000 |
olbk1915(zbx001) | 1100 |
sundafa (Nodeasy) | 3000 |
r808-m (pupu) | 1100 |
usnggogogo(easystake) | 1100 |
vanguard | 1200 |
p2p.org | 2500 |
yasyazb(flybird) | 900 |
Anthonyhuanggr | 2900 |
DokiaCapital | 1900 |
Inotel | 1900 |
wjdfx(Bit Cat) | 1700 |
ercwangwh(ercw) | 700 |
tashalin88(Forward) | 500 |
TRIXvalidator | 2400 |
ssl325 | 2100 |
isillien | 2650 |
blockventure | 600 |
seqs | 600 |
wukong | 1700 |
erknfe | 2300 |
Kunkomu | 1800 |
Firestealer | 1000 |
FreshMeters | 1400 |
zhongbensuan | 1200 |
AliceNode | 200 |
htabs | 200 |
matrixyz | 1500 |
nutkab | 1100 |
Blue(007) | 1700 |
Bruce | 1100 |
ZavZav | 1600 |
Mars | 2000 |
Wangq | 200 |
zwchero | 800 |
francz(franktop) | 1300 |
Agrestus | 1600 |
Alex | 1000 |
driftas(afisport) | 900 |
getterlong | 700 |
lagrangey | 700 |
maximka | 1300 |
vip | 1600 |
itokenpool(xudoubles) | 1500 |
Qiyue | 800 |
anonstake.com | 1000 |
MindHeartSoul | 1100 |
yan08(lee) | 3800 |
Pickle | 1100 |
aliefaisala | 400 |
y2labs | 400 |
ractolechoc5(sl-he) | 200 |
docpryof(tylerdow) | 200 |
villiamsivertsen | 200 |
jaroslavrud | 100 |
oligarr | 200 |
olailsen | 100 |
simonhugo(mongeu) | 200 |
contabo(mialnaj) | 100 |
tommywesley | 200 |
felixschulz | 100 |
fredrikmalmqvist | 200 |
launooskuarttu | 200 |
IamS | 400 |
Janliamnilsson | 200 |
slsub | 600 |
0ABC | 100 |
agaphone! | 100 |
slsub | 100 |
GasMeter | 100 |
koa | 300 |
merlin | 200 |
goto | 500 |
beezneez | 500 |
stakin(EdouardLvdl) | 200 |
jagon | 500 |
BePositiV | 500 |
0ABC | 200 |
Social Contributions | ID | Points |
---|---|---|
Guilhem | 50 | |
Griya | 50 | |
POTsele | 50 | |
Fabian | 90 | |
Muhamad Erfan | 1200 | |
黄国荣 | 40 | |
林中白书 | 20 | |
Craig | 200 | |
Ivy | 1000 | |
Blockminer | 200 |
Developer Contributions | ID | Points |
---|---|---|
Skeyili1Liaaeeeyyr | 500 |
If you haven't, please complete the complete the KYC form if you want to receive the testnet incentive. The testnet is however completely permissionless and we welcome any abuses. If you are running your own validator node, it is highly advised to connect the official Meter Wallet to your own node, so you have the most secure and up to date view of the network. Please also remember to comment on the Github Issue 1 of your validator.
Meter is a hybrid PoW and PoS blockchain system with dual chain structure. All the accounts and transactions are recorded on the PoS chain while PoW chain (currently a modified version of Bitcoin starting from the same genesis of Bitcoin) just maintains the crypto puzzles for mining. The PoW chain submits the solutions for the crypto puzzles to the PoS chain and the winning miners receive reward on their accounts on the PoS chain.
Epoch: Meter operates on epochs, which are signaled by k-blocks (regular blocks are called m-blocks). At the end of epoch, the committee nodes vote on the longest PoW chain and distribute mining rewards to all the PoW miners, it also pass the information to the PoW chain and all the PoW miners will have to start mining for the stamped PoW block. To create a k-block, the PoW chain typically has to have more than 60 blocks. Since the average PoW block period is 1 minute, each epoch is therefore around 1 hour (currently the time for epoch is completely decided by PoW, but we will implement cross interactions for epoch adjustments in the future). All system financial related activities like reward distribution, entering and exiting the delegate node pool only happens at k-blocks.
It is also required to run both PoS and PoW processes on the same physical or virtual machine to ensure security.
In Meter, there are several types of full nodes in the network:
In the test net and initial launch of the main net. The number of Delegate Nodes will be the same as the number of the committee nodes. In the future, there maybe a subset of nodes with better performance and network connectivity dedicated as the leaders in the committee nodes.
To achieve the full performance of the Meter network, the ideal hardware configuration is more than 8 compute optimized vCPU, 16GB of memory and 500GB of SSD (AWS c5.2xlarge instance or better). The maximum block size in Meter is around 1.3MB. However the Meter consensus protocol is capable of adapting to transaction load, network and node processing speed to some extent by varying the block period from 2 sec to up to 30 sec. The minimum requirement is 2 vCPU and 4GB of memory (a $20~$40/month AWS lightsail nodes). When the network has minimum load, the average monthly block data is expected to be about 1.5GB. We highly recommend the validators to use the same setup as the mainnet. In addition, please try avoid running nodes behind the country firewalls like the Great Firewall of China. If your node has connectivity issues with other nodes, it may receive penalty points and get jailed.
To help validators bootstrap the requirements for validator nodes and properly align the interests, all testnet incentive tokens will be distributed with a 6480 epoch lock(around 270 days). You could stake these tokens for candidates and votes, but will not be able to send them to other addresses. Each week of the final warringstakes testnet, we will distribute 15,000 points (1 point = 1 MTRG) and split them among validators who have maintained the nodes properly by weight. The base weight for each correctly maintained validator node is 1. If a validator(based on KYC) starts multiple nodes, their weight goes up by 1 for every 2 additional nodes. To make the game fair for everyone, the maximum weight per KYCed validator will be 3.
Each reported and validated testnet bug may qualify for additional 100 to 500 points depend on its severity. We target to run the testnet for 2 to 3 weeks before flip the switch to mainnet.
We will make snapshot every week at random time of the validator list and publish the updates on participants weight on a google sheet Please reach out to @jenniferkong on discord for any KYC related questions.
You could claim testnet tokens from the testnet faucet
Node software is currently provided as docker images. Please refer to Ubuntu Docker Installation Guide.
By default, if you installed docker through apt install, it requires root user privilege to run. However, this may introduce security concerns. It is highly recommended to run Docker as non-root user.
Setup Docker usergroup to run Docker as non-root user. We assumed the non-root user that will be running docker is "ubuntu", please change the commands accordingly if you are using a different user.
sudo groupadd docker
sudo usermod -aG docker ubuntu
After this, please logout and log back in to refresh the user group setting and you will be ready to go.
Download the latest desktop wallet and make sure you select the warringstakes testnet. There will be a new wallet release right before the testnet. Please make sure your wallet version is 1.2.1, otherwise you may not be able to interact with the testnet properly
Prepare host working directory for Meter Docker container It is recommended to have a host working directory for the container to save important keys and block database, so we could retain them in future upgrades. We will create a directory called meter-data and set its path to and environment variable called METER_DATA_PATH (you will have to modify accordingly if you have a different directory structure) and map it to the /pos directory inside the container.
(the following instructions assumes the user operates in $METER_DATA_PATH. Please pay attention to the parameters in the commands and replace the path accordingly to your environment, especially the path after -v in docker run commands).
If your node has run Meter in the past, please make sure to clean the working directory and remove the container with the following commands.
rm -rf meter-data
docker container rm -f meter
docker container rm -f watchtower
Prepare a clean working directory
$ mkdir meter-data
$ cd meter-data/
$ echo "export METER_DATA_PATH=$PWD" >> ~/.bashrc
$ source ~/.bashrc
docker pull dfinlab/meter-allin:latest
docker run --network host --name meter --restart always -e NETWORK="warringstakes" -v $METER_DATA_PATH:/pos -d dfinlab/meter-allin:latest
Several useful commands for docker:
docker container ls -a
The output will be like the following:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
260bbd571d1a dfinlab/meter-allin "/usr/bin/supervisord" 23 hours ago Up 23 hours meter
docker container stop meter //stop the container
docker container start meter //start the container
docker container rm meter //remove the container
docker image ls
docker image rm [image ID] //remove the container image, will trigger redownloading the image at the next docker run, it is recommended to do this every time we upgrade the testnet
docker container exec -it meter bash //launch a bash in the container
The log files can be located inside the container, under /var/log/supervisor directory. If you file any bugs, please remember to attach the logs for PoS (both the stderr and stdout) in the bug. You could either copy and paste the log or use
docker cp meter:/var/log/supervisor/[LogFileNameHere] //replace with the log file name
After confirming the node is running properly through the log, you could then connect the desktop wallet to your own full node.
You could compare the with height with the official Warring Stakes Testnet Explorer
Becoming a delegate node requires staking MTRG tokens. You will have to have both MTR and MTRG tokens in order to perform the transaction.
Port Range | Functions |
---|---|
9209 | PoW P2P (required) |
8332 | PoW API |
8669 | Wallet REST API |
8670-8671 | PoW/PoS Messages (required) |
55555 | Discovery Server |
11235 | PoS P2P (required) |
9100 | node explorers |
The votes for each validator automatically increases at 5% annualized rate to encourage validator to stay in long term. if you uncandidate and recandidate, you will lose these bonus votes. Whenever you uncandidate and undelegate, it will take one week before the tokens become unbounded and transferrable.
Please be aware that the public.key file in the docker container is generated when the container is launched. If you start a container from scratch, the public.key will be different from the one you used for the "Candidate" transaction. You could either "Uncandidate" and "Candidate" again with the new public key or change the public key to the one you used before.
Your node will automatically pick up by our Meter Scan once you successfully become a candidate.
Please be aware that the candidate transaction require tokens that are not staked. If you want to make any changes to the candidate information, currently the system requires to wait at least 7 days. In case you made any mistakes, the fastest way maybe to Uncandidate. After uncandidate, the tokens will still be in locked mode, you could use them to vote your self, but could not use them to candidate yourself. If you unbound the tokens, it will take 30 days for these tokens to be unlocked.
We have prepared a watchtower container which will automatically check if there is any newly released docker image for Meter and upgrade accordingly.
docker run -d --name watchtower --restart always -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --include-stopped --revive-stopped --enable-lifecycle-hooks --interval 10 --cleanup meter
Please make sure you run the watchtower on testnet as we have very frequent upgrades.
If you prefer to manage the upgrade manually, you could follow the following instructions:
Stop and delete the current docker container
docker rm -f meter
Pull the latest meter docker image
docker pull dfinlab/meter-allin:latest
Force Resync block history(Recommended)
sudo rm -rf $METER_DATA_PATH/instance-aad99a171ffea4f4
Start the container and mount the host data backup folder to the pos folder inside the container -v $METER_DATA_PATH:/pos
docker run --network host --name meter --restart always -e NETWORK="warringstakes" -v $METER_DATA_PATH:/pos -d dfinlab/meter-allin:latest
As we have frequent upgrades in the testnet. After a while there maybe a lot of unused container images. You could use the following commnads to remove unused container images
docker system prune -af
You could look at the most current block height of your node through http://IPaddrOfYourNode:8670/probe and make sure the block height is in sync with the explorer We also have a monitor site to look at the status of different nodes in the network. As validators are still getting familiar with Meter, slashing will not be enabled initially on the network, instead we introduced a jailing concept to remove unperforming validators. The current rule of jailing on Meter is if a node has missed more than 3 proposals in any of the last eight epochs for two times, missed to organize the committee for 2 times or double signed once. Once a node is jailed, it takes 10 MTRG to revive it from the jailed states. You could complete this with the "bail out" option on the top right corner of the Meter Wallet.