RIF Token: Empowering Decentralized Applications
The Rootstock Infrastructure Framework (RIF) Token allows any token holder to consume the services that are compatible with RIF Products and Services. It is also the governance token of the Rootstock Collective - stRIF, a token created by staking RIF tokens. stRIF tokens represent voting power within the DAO, enabling token holders to participate in governance decisions like grant allocations and changes to the system. For more information, read the Rootstock Collective Whitepaper.
RIF (RIF Token in Mainnet)
Token Name | RIF |
Total Supply | 1,000,000,000 RIF |
Contract Address | 0x2acc95758f8b5f583470ba265eb685a8f45fc9d5 |
Contract Type | ERC677 |
How to Get |
tRIF (RIF Token in Testnet)
Token Name | tRIF |
Total Supply | 1,000,000,000 tRIF |
Contract Testnet Address | 0x19f64674D8a5b4e652319F5e239EFd3bc969a1FE |
Contract Type | ERC677 |
How to Get |
stRIF (Staked RIF Token in the RootstockCollective DAO)
The stRIF tokens give you voting rights and participation in the RootstockCollective DAO's governance and decision-making process they are pegged 1:1 with RIF. To acquire stRIF tokens, you need to stake RIF tokens in the governance system dApp. RIF tokens can be purchased through various exchanges, and once staked, an equivalent amount of stRIF is issued for governance participation.
Token Name | stRIF |
Total Supply | Varies and will increase and decrease as RIF is staked and unstaked. |
Contract Address | 0x5db91e24BD32059584bbDb831A901f1199f3d459 |
Contract Types | ERC20, ERC677, ERC1967Proxy |
How to Get |
Wallets
See supported wallets.
Technical information
ERC677 token standard
An ERC20
token transaction between a regular/non-contract address and contract are two different transactions: You should call approve
on the token contract and then call transferFrom
on the other contract when you want to deposit your tokens into it.
ERC677
simplifies this requirement and allows using the same transfer function. ERC677 tokens can be sent by calling transfer
function on the token contract with no difference if the receiver is a contract or a wallet address, since there is a new way to notify the receiving contract of the transfer.
An ERC677 token transfer will be the same as an ERC20 transfer. On the other hand, if the receiver is a contract, then the ERC677 token contract will try to call tokenFallback
function on receiver contract. If there is no tokenFallback
function on receiver contract, the transaction will fail.
RIF transfer methods
-
Approve and transfer:
function approve(address _spender, uint256 _value) public returns (bool)
function transfer(address _to, uint256 _value) public returns (bool) -
Transfer and call:
function transfer(address _to, uint256 _value, bytes data)
Parameters
_to: address
: Contract address._value: uint256
: Amount of RIF tokens to send.data: bytes
: 4-byte signature of the function to be executed, followed by the function parameters to be executed with encoded as a byte array.