Feature Proposal/Vote: Pico-inflation on testnet

Update: The vote to enable pico-inflation on testnet has passed and inflation of 0.01% has been enabled on testnet as of epoch 128!

–

Hi Validators,

We are ready to run the first attempt at a Feature Proposal Program vote by kicking off a vote to (re-)enable pico-inflation on testnet!

Note: “pico-inflation” is a nominal amount of inflation (0.01% APY) on testnet, to be used for validation purposes as an intermediate step to enabling full-inflation on Mainnet Beta. See roadmap here.

I highly recommend validators first quickly read through the Feature Proposal Program description here: https://spl.solana.com/feature-proposal

What has happened:

We have created a Feature Proposal for enabling pico-inflation on Testnet and it is ready to be voted on!

The dormant pico-inflation feature was implemented and deployed with v1.4.11 with Feature ID: 4RWNif6C2WCNiKVW7otP4G7dkmkHGyKQWRpuZ1pxKU5m (observable via solana feature status). Note, this pending feature is available on all clusters running >= 1.4.11, but we’ve currently only initiated the proposal process on testnet.

Using the same keypair that the pico-inflation feature id was derived from, the Solana Foundation initiated the community proposal process via spl-feature-proposal propose <pico-inflation keypair>

By initiating the proposal process, a mint of SPL tokens was created in 1:1 proportion to the amount of stake on the network. These SPL tokens were then delivered to each validator’s identity pubkey, the amount matching the amount of SOL staked to that validator’s node.

Pico-inflation on testnet will now be enabled if >= 34% of these SPL tokens are sent as “votes” to the Feature Proposal acceptance token address (see below)!

What happens next:

On-chain governance!

Validators should follow these two steps to participate in the vote:

  1. First look up your pico-inflation SPL vote token address via:

spl-token --owner ~/validator-keypair.json accounts 432FsYZLkqu6fiXbEm7NDVR58xJPfJTHNzsTSEE1KmwW

Where 432Fs... is the Mint Address for the pico-inflation SPL vote token created for this specific proposal.

  1. Validators can submit their vote by sending some or all of the SPL tokens in their ownership to the pico-inflation testnet acceptance address: 3iAe6JeecrC5XgrJtrCqFWXqfeh55JEBjcTes3siFbB6. This is done via:

spl-token --owner ~/validator-keypair.json transfer <TOKEN_ACCOUNT_ADDRESS> ALL 3iAe6JeecrC5XgrJtrCqFWXqfeh55JEBjcTes3siFbB6

Where <TOKEN_ACCOUNT_ADDRESS> was determined in step 1. A validator’s vote is counted as the proportion of the total SPL vote tokens minted that a validator sends to the acceptance address.

As this is a first testrun of the Feature Proposal program, we’ve set the acceptance threshold to >= 34%. I.e. when >= 34% of the SPL vote tokens are observed to be received at the Feature Proposal acceptance address (3iAe6), the pico-inflation feature will automatically be enabled at the start of the subsequent epoch. For subsequent votes, it is likely that this threshold will be raised such that the supermajority of stake on the network is required for a proposal to pass (i.e. >= 67%)

At any time, the votes can be tallied by anyone using:

spl-feature-proposal tally D3Uc73L9mm9P4aVV6iAkHm33Nu2h5jU5cDmtBHGUWgYW

This vote will be open for 2 weeks (expiring on 2020-12-10T19:32:25Z) if the threshold is not met at the end of that timeframe, it will be considered to not have passed and a new proposal/vote will have to be initiated.

1 Like

Thank you @eric for the detailed instructions.
I join others and have successfully completed the voting process.
For anyone interested, I wrote couple of simple scripts for steps 1 and 2.

Script 1: solana-lookup-my-pico-inflation-vote-address.sh

#!/bin/bash

# This PICO inflation MINT address is provided by the Solana Foundation
SOLANA_FOUNDATION_PICO_INFLATION_SPL_TOKEN_MINT_ADDRESS="432FsYZLkqu6fiXbEm7NDVR58xJPfJTHNzsTSEE1KmwW"

# The output of this command should display your PICO inflation VOTE address
# Please remember to replace "validator-identity-keypair.json" with your
# absolute path and keypair file name
spl-token --owner /home/solana/keys/validator-identity-keypair.json \
  accounts $SOLANA_FOUNDATION_PICO_INFLATION_SPL_TOKEN_MINT_ADDRESS

Script 2: solana-submit-my-pico-inflation-vote.sh

#!/bin/bash

# Your VOTE address is displayed to you when you run Script 1
# Please remember to replace the contens w/in "" w/ your VOTE address
MY_PICO_INFLATION_SPL_TOKEN_VOTE_ADDRESS="8xpzAwMPcP3uJUocukZFCFJhhnDnKd3T6vVK3cbUAhHD"

# This PICO inflation ACCEPTANCE address is provided by the Solana Foundation
SOLANA_FOUNDATION_PICO_INFLATION_SPL_TOKEN_ACCEPTANCE_ADDRESS="3iAe6JeecrC5XgrJtrCqFWXqfeh55JEBjcTes3siFbB6"

# This command submits your VOTE for PICO inflation
# Please remember to replace "validator-identity-keypair.json" with your
# absolute path and keypair file name
spl-token --owner /home/solana/keys/validator-identity-keypair.json \
  transfer $MY_PICO_INFLATION_SPL_TOKEN_VOTE_ADDRESS ALL \
  $SOLANA_FOUNDATION_PICO_INFLATION_SPL_TOKEN_ACCEPTANCE_ADDRESS

Github Repo for TdS PICO scripts

1 Like