how to run a validator node on solana

Next Validator Requirements You can read more about it in the Solana docs. This can be seen by the 'Skipped Vote %' shown on Validators.app . Now we are going to install, (validator)$ sudo apt-get install -y build-essential, (validator)$ wget https://go.dev/dl/go1.17.8.linux-amd64.tar.gz, (validator)$ sudo tar -xvf go1.17.8.linux-amd64.tar.gz, export PATH=$GOPATH/bin:$GOROOT/bin:$PATH, (validator)$ git clone https://github.com/Fantom-foundation/go-opera.git, (validator)$ git checkout release/1.1.1-rc.2, After installing everything we need, you can continue by registering your Fantom validator node on-chain. network, a blockchain platform, to . Each staked validator earns inflation rewards from vote credits. We have a very active community of validators on our Discord server. Simply select a provider from the list. NOTE: Make sure that you do not use any " around the pubkey as this will cause problems. economics, and here's an overview of staking A blockchain node is a networks stakeholder or a device that is specifically created as a means of keeping a copy of all of the information within the distributed ledger. The Velas cli includes get and set configuration commands to automatically It is crucial to back-up this information. Congrats, you are now a Fantom validator! And as we'll see next, it's actually not always the biggest impact on your overall return: Quick tip: When choosing a validator ensure you know which metrics you are looking at. Ensure that running /home/vel/bin/validator.sh manually starts the validator as expected. Before you run off celebrating, you need to restart your node in validator mode! For Confirm your validator connected to the network by opening a new terminal and Verify that the nodes are running by executing the following command: . To do this, you need to create a validator wallet. Mainnet-beta validators begin running 1.14 on master canary nodes (i.e. Follow the prompts and supply the password, the output is as follows: - You can share your public key with anyone. If you want to manage your install manually, you can download and install the binaries by going to the official GitHub website, downloading solana-release-x86_64-unknown-linux-msvc.tar.bz2, then extracting the archive: Now that we have the proper hardware as well as the proper software set up, we can move towards starting the validator. tip. Thanks for reading New Age Finance! Issuances from a global, protocol-defined, inflation rate. In reality the lower the number is in Phantom Wallet, the better for you. Step 4: Create your lease & send your manifest, Step 5: View your status and acquire port/URL, After running akash provider lease-status you should get, Finally to ssh in to your Ubuntu deployment run, ssh -p root@, Step 1: Install the Solana release v1.6.10 on your machine. How to install Solana node. It can be done only using go-opera (, https://github.com/Fantom-foundation/lachesis_launch/blob/master/docs/create_validator.md. the validator publishes the hash on is tied to the snapshot interval. We've recently launched our own list of top validators which uses data from Solana, StakeView and Validators.app combined to help you find a great validator to stake with. that CUDA is enabled: "[ solana::validator] CUDA is enabled". This is not quite proof of work in the sense of Bitcoin, GPU farms and environmental destruction. Another is that in combination with the --halt-on-trusted-validator-hash-mismatch option, Open another terminal and run the following command cardano-cli query tip --testnet-magic 1. Alternatively, 1.5 TB is sufficient if you're running using a pruned datadir. ), Working out the commission is straightforward: every validator's commission is exposed publically, and it is simply deducted as a proportion of your rewards (not your stake!). Am I staking with a validator based in a highly centralized datacentre, or are they hosted in an area with a low concentration of active stake? Google Cloud is working with, to bring Blockchain Node Engine to the Solana chain next year, so it will be easy for anyone to launch a dedicated Solana node in the cloud , Introducing Blockchain Node Engine | Google Cloud Blog. Recommended Intel NUC, 7th gen or higher x86 processor Wired internet connection An RPC node responds to requests about the network and also allows users of the RPC node to submit new transactions. 7.5 TB is needed if you'd like to run with a full size (non-pruned) datadir. Update resources as needed. How well are they keeping up with other validators in terms of performance? Nodes Guru. This is the best place to get technical support . You can create a paper wallet for your identity file instead of writing the Read more about creating and managing a vote account.. On your workstation setup an ssh public/private key pair. I have written guides and educational content on thousands of cryptocurrencies and financial services and conducted various types of analysis, including price forecasts and technical analyses of blockchain projects. Nov 7, 2022. Given an epoch is ~2.5 days long, depending on when you stake it may take 2 days, 2 hours or just 20 minutes for your stake to become active. are similar for the other Velas Clusters. That said, this post provides you with the step-by-step instructions on running a non-validating Solana RPC node and connecting it to the mainnet beta cluster. Then head back to the console window where you started your node with the following command: (validator)$ nohup ./opera --genesis $NETWORK --nousb --validator.id ID --validator.pubkey 0xPubkey --validator.password /path/to/password &, https://github.com/Fantom-foundation/lachesis_launch, ** This guide includes several screenshots made by. network. You will likely need a good understanding of the Solana architecture and the RPC api. keypair for all following commands: Airdrop yourself some VLX to get started: Note that airdrops are only available on bootstrap node at Devnet. RPC Nodes There are different motivations for running an RPC node. You can see here that the commission is eating into the returns compared to the 0% commission operators.. be enabled on a server that stores wallet account. Remember that you do not need to be tech-savvy in order to connect to a Solana (SOL) node, as this is a task that can be easily achieved by connecting to a pre-existing node with an API key instead. Are there any fees for depositing or withdrawing your stake from a validator? You will have to decide which choice is best for you based on your interests, technical background, and goals. Ensure that the 'exec' command is used to start the validator process Over the last 12 months, Solana Labs and third-party core engineering teams have been working to improve the network, and will continue to do so with a focus on stability. VALIDATOR if you lose access to it. akash tx cert create client --chain-id akashnet-2 --keyring-backend os --from --node=tcp://135.181.60.250:26657 --fees 5000uakt, owner: akash1vn06ycjjnvsvl639fet9lajjctuturrtx7fvuj, provider: akash1f6gmtjpx4r8qda9nxjwq26fp5mcjyqmaq5m6j7, xid: akash1vn06ycjjnvsvl639fet9lajjctuturrtx7fvuj/140324/1/1/akash1f6gmtjpx4r8qda9nxjwq26fp5mcjyqmaq5m6j7, owner: akash1f6gmtjpx4r8qda9nxjwq26fp5mcjyqmaq5m6j7, akash tx market lease create --chain-id akashnet-2 --node=tcp://135.181.60.250:26657 --owner --dseq $DSEQ --gseq 1 --oseq 1 --provider akash1f6gmtjpx4r8qda9nxjwq26fp5mcjyqmaq5m6j7 --from --fees 5000uakt, akash provider lease-status --node=tcp://135.181.60.250:26657 --home ~/.akash --dseq $DSEQ --from --provider akash1f6gmtjpx4r8qda9nxjwq26fp5mcjyqmaq5m6j7, sh -c $(curl -sSfL https://release.solana.com/v1.6.10/install)", solana config set --url http://api.devnet.solana.com, solana-gossip spy --entrypoint entrypoint.devnet.solana.com:8001, solana-keygen new -o ~/validator-keypair.json, solana config set --keypair ~/validator-keypair.json, solana-keygen new -o ~/vote-account-keypair.json, https://github.com/coffeeroaster/akash-ubuntu, https://github.com/ovrclk/akash/releases/tag/v0.12.1. The node controls the fee recipient, not the validator client, so to guarantee control of the fee recipient, the organization must run its own nodes. Solana Developers will also get access to Google's BigQuery database. Others need it to validate messages from you. You should see blocks come in. For example, some RPC providers create dedicated servers for projects that require a high volume of requests to the node. otherwise add it to /etc/systemd/system.conf. When your validator is started look for the following log message to indicate But the most interesting part is when we get into commission rates: 3 validators charging 5% commission have an estimated APY of 7.67% Think of it as a normal EC2 AWS Ubuntu instance you can install software and run commands on. The key controls access to your validator! Amazon AWS. Go here for documentation related to all things Validator, from validator requirements, to troubleshooting. Starting a Validator Vote Account Management Staking Geyser Running a Validator This section describes how to run a Solana validator node. Enter the following command to check that everything works as expected: sfcc.lastValidatorID() // if everything is all right, will return a non-zero value. How is my validator's APY performance and commission rate? Now add the --accounts /mnt/velas-accounts argument to your velas-validator command-line arguments and restart the validator. See why over 50% of projects on Solana choose QuickNode and sign up for a free, 7-day trial here. After releasing a Blockchain Node Engine last month, Alphabet Incs cloud computing division, Google Cloud, has announced that it will participate in and validate the Solana network by running a block-producing validator node. Your validator identity keypair uniquely identifies your validator within the If you havent already done so, create a vote-account keypair and create the If the epoch is about to end this may be minutes or hours away, however if you 'undelegate' at the very start of an epoch it may take almost 3 days to undelegate. last couple hours of ledger. Without the password, it's impossible to decrypt the key! The node running and syncing the network in your current console, so you need to open up a new console window, connect via SSH to the server and enter the following commands to create a wallet: After entering the command, you will get prompted to enter a password for the account (= wallet) use a strong one! Finally, check the correctness of the genesis.json file: evmosd validate-genesis. A 300GB tmpfs partition is recommended, with an accompanying 250GB swap partition. - You must REMEMBER your password! How to run a Solana Validator on the Akash Network the simple way. At the time of writing SOL is trading at $31.36, dropping over 12% in the last 24 hours. Yes! file of the newly created user in order to be able to log in via SSH. Now that you have a keypair, set the velas configuration to use your validator As soon as the beacon node is up, the chain will be waiting for you to deposit 3.2 Goerli ETH (in mainnet it's equivalent to 32 ETH) into a validator deposit contract in order to activate the validator. That means you need to have at least 500,000 FTM in the wallet you just created (send a little more to cover transaction fees). Foundation Delegation participants are eligible to receive a delegation from the Solana Foundation. Solana is a high-speed blockchain that has a reputation due to the fact that it can process a large number of transactions per second (TPS), and while its average is around 3,300 TPS, its theoretical throughput can reach 65,500 TPS. But the fact is a validator earns rewards for every vote it participates in. If your validator needs to support any of these requests, you can use the --account-index parameter to activate one These commands will have certain flags filled to keep the user experience as simple as possible and assume you already have an Akash wallet in your environment. Whether you're a developer that needs end-to-end managed nodes or you're a financial institution that wants to earn maximum yield on your assets with validator nodes, we have you covered. LONDON, UK / ACCESSWIRE / February 27, 2023 / Launchnodes announces the launch of Teku validator nodes for Ethereum staking. By default we assume that the wisdom of crowds has chosen for us: this place is popular, it must be the best. You can either run a node on your own hardware or use a cloud provider. -- may perform poorly. If you know and trust other validator nodes, you can specify this on the command line with the --trusted-validator <PUBKEY> argument to velas-validator.You can specify multiple ones by repeating the argument --trusted-validator <PUBKEY1> --trusted-validator <PUBKEY2>.This has two effects, one is when the validator is . Additionally, when the validator is the leader, it can earn transaction fees and storage rent fees for each block that it produces that is added to the blockchain. Its a Solana Foundation program to incentivize new validators to the network. View the current list of validators, their ranking by stake amount, and information about commission below. If you already have a registered solana key, (validator-keypair.json), then copy it to /root/solana via ftp . If your machine has plenty of RAM, a tmpfs ramdisk (tmpfs) may be used to hold the accounts database. Once you run query market bid list you will receive bids from multiple different providers. If there is already a non-root user available, you can skip this step. account state divergence. How long is my stake 'locked up' for at a validator? use a password manager to generate a 20+ digit password to secure your wallet. Solana-node is written in Rust and uses the Proof of . If you work with Solana in any capacity you're going to need RPC nodes. By processing transactions and participating in consensus, each validator helps make Solana the most censorship resistant and highest-performance blockchain network in the world. Need on-chain data through APIs? As a small validator, staking with us not only earns you great rewards and secures the Solana network through decentralization, but also helps support us to keep writing new guides and building new tools to support the Solana ecosystem. Once your validator is operating normally, you can reduce the time it takes to restart your validator by adding send transactions (which you will do in a moment): Now initialize the SFC contract ABI variable (, https://github.com/Fantom-foundation/lachesis_launch/blob/master/releases/sfc-abi-3.0.1-rc.1.json, abi = JSON.parse('[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"validatorID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"status","type":"uint256"}],"name":"ChangedValidatorStatus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lockupExtraReward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lockupBaseReward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockedReward","type":"uint256"}],"name":"ClaimedRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"validatorID","type":"uint256"},{"indexed":true,"internalType":"address","name":"auth","type":"address"},{"indexed":false,"internalType":"uint256","name":"createdEpoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"createdTime","type":"uint256"}],"name":"CreatedValidator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"validatorID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"deactivatedEpoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"deactivatedTime","type":"uint256"}],"name":"DeactivatedValidator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Delegated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"uint256","name":"validatorID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LockedUpStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lockupExtraReward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lockupBaseReward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockedReward","type":"uint256"}],"name":"RestakedRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"wrID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Undelegated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"uint256","name":"validatorID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"UnlockedStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"UpdatedBaseRewardPerSec","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"blocksNum","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"period","type":"uint256"}],"name":"UpdatedOfflinePenaltyThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"validatorID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"refundRatio","type":"uint256"}],"name":"UpdatedSlashingRefundRatio","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"wrID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"baseRewardPerSecond","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractCommission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"currentSealedEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getEpochSnapshot","outputs":[{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"epochFee","type":"uint256"},{"internalType":"uint256","name":"totalBaseRewardWeight","type":"uint256"},{"internalType":"uint256","name":"totalTxRewardWeight","type":"uint256"},{"internalType":"uint256","name":"baseRewardPerSecond","type":"uint256"},{"internalType":"uint256","name":"totalStake","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"getLockupInfo","outputs":[{"internalType":"uint256","name":"lockedStake","type":"uint256"},{"internalType":"uint256","name":"fromEpoch","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"getStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"getStashedLockupRewards","outputs":[{"internalType":"uint256","name":"lockupExtraReward","type":"uint256"},{"internalType":"uint256","name":"lockupBaseReward","type":"uint256"},{"internalType":"uint256","name":"unlockedReward","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getValidator","outputs":[{"internalType":"uint256","name":"status","type":"uint256"},{"internalType":"uint256","name":"deactivatedTime","type":"uint256"},{"internalType":"uint256","name":"deactivatedEpoch","type":"uint256"},{"internalType":"uint256","name":"receivedStake","type":"uint256"},{"internalType":"uint256","name":"createdEpoch","type":"uint256"},{"internalType":"uint256","name":"createdTime","type":"uint256"},{"internalType":"address","name":"auth","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"getValidatorID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getValidatorPubkey","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"getWithdrawalRequest","outputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastValidatorID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxDelegatedRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"maxLockupDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"minLockupDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"minSelfStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"slashingRefundRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeTokenizerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"stashedRewardsUntilEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalActiveStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSlashedStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unlockedRewardRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"validatorCommission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"internalType":"bytes3","name":"","type":"bytes3"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"withdrawalPeriodEpochs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"withdrawalPeriodTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"currentEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"name":"getEpochValidatorIDs","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"validatorID","type":"uint256"}],"name":"getEpochReceivedStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"validatorID","type":"uint256"}],"name":"getEpochAccumulatedRewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"validatorID","type":"uint256"}],"name":"getEpochAccumulatedUptime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"validatorID","type":"uint256"}],"name":"getEpochAccumulatedOriginatedTxsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"validatorID","type":"uint256"}],"name":"getEpochOfflineTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"validatorID","type":"uint256"}],"name":"getEpochOfflineBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"uint256","name":"validatorID","type":"uint256"}],"name":"rewardsStash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"uint256","name":"toValidatorID","type":"uint256"}],"name":"getLockedStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"sealedEpoch","type":"uint256"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"nodeDriver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"auth","type":"address"},{"internalType":"uint256","name":"validatorID","type":"uint256"},{"internalType":"bytes","name":"pubkey","type":"bytes"},{"internalType":"uint256","name":"status","type":"uint256"},{"internalType":"uint256","name":"createdEpoch","type":"uint256"},{"internalType":"uint256","name":"createdTime","type":"uint256"},{"internalType":"uint256","name":"deactivatedEpoch","type":"uint256"},{"internalType":"uint256","name":"deactivatedTime","type":"uint256"}],"name":"setGenesisValidator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"lockedStake","type":"uint256"},{"internalType":"uint256","name":"lockupFromEpoch","type":"uint256"},{"internalType":"uint256","name":"lockupEndTime","type":"uint256"},{"internalType":"uint256","name":"lockupDuration","type":"uint256"},{"internalType":"uint256","name":"earlyUnlockPenalty","type":"uint256"},{"internalType":"uint256","name":"rewards","type":"uint256"}],"name":"setGenesisDelegation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"pubkey","type":"bytes"}],"name":"createValidator","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"validatorID","type":"uint256"}],"name":"getSelfStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"toValidatorID","type":"uint256"}],"name":"delegate","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"internalType":"uint256","name":"wrID","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"undelegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"validatorID","type":"uint256"}],"name":"isSlashed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"internalType":"uint256","name":"wrID","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"validatorID","type":"uint256"},{"internalType":"uint256","name":"status","type":"uint256"}],"name":"deactivateValidator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"uint256","name":"toValidatorID","type":"uint256"}],"name":"pendingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"uint256","name":"toValidatorID","type":"uint256"}],"name":"stashRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"toValidatorID","type":"uint256"}],"name":"claimRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"toValidatorID","type":"uint256"}],"name":"restakeRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"validatorID","type":"uint256"},{"internalType":"bool","name":"syncPubkey","type":"bool"}],"name":"_syncValidator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"offlinePenaltyThreshold","outputs":[{"internalType":"uint256","name":"blocksNum","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"updateBaseRewardPerSecond","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"blocksNum","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"updateOfflinePenaltyThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"validatorID","type":"uint256"},{"internalType":"uint256","name":"refundRatio","type":"uint256"}],"name":"updateSlashingRefundRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"updateStakeTokenizerAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"offlineTime","type":"uint256[]"},{"internalType":"uint256[]","name":"offlineBlocks","type":"uint256[]"},{"internalType":"uint256[]","name":"uptimes","type":"uint256[]"},{"internalType":"uint256[]","name":"originatedTxsFee","type":"uint256[]"}],"name":"sealEpoch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"nextValidatorIDs","type":"uint256[]"}],"name":"sealEpochValidators","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"uint256","name":"toValidatorID","type":"uint256"}],"name":"isLockedUp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"uint256","name":"toValidatorID","type":"uint256"}],"name":"getUnlockedStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"internalType":"uint256","name":"lockupDuration","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"lockStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"internalType":"uint256","name":"lockupDuration","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"relockStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"toValidatorID","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unlockStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]').

Weaning Cat Off Budesonide Vigora, Santa Cruz Skybox Factory, 49ers Name Origin Racist, Harry Nilsson Children, Articles H

how to run a validator node on solana