Support for ERC20 Tokens

Target releaseMercury
Epic
Document status
DRAFT
Document owner
Designer
Developers
QA

Goals

  • Growth

Background and strategic fit

Most tokens in the market today are ERC20 tokens.  Supporting this standard includes RChain tokens in the mainstream body of tokens available today.  Here are the key methods that are part of the ERC20 Token contract.

       function totalSupply() constant returns (uint totalSupply);
 4     function balanceOf(address _owner) constant returns (uint balance);
 5     function transfer(address _to, uint _value) returns (bool success);
 6     function transferFrom(address _from, address _to, uint _value) returns (bool success);
 7     function approve(address _spender, uint _value) returns (bool success);
 8     function allowance(address _owner, address _spender) constant returns (uint remaining);
 9     event Transfer(address indexed _from, address indexed _to, uint _value);
10     event Approval(address indexed _owner, address indexed _spender, uint _value);

Assumptions

Requirements

#TitleUser StoryImportanceNotes
1Address formatDetermine the format for RChain addressesMust Have
  • ECDSA curves
2Token PropertiesCome up with the properties of the Rev tokenMust Have
  •  Name, decimal point, etc..
3Rev DistributionDetermine how Rev will be distributed, mined, released and implement.Must Have
  • Validator rewards, supply parameters
4Rev to Phlogiston ExchangeSystem contracts that exchange Rev to Phlogiston and backMust Have
  • Powers the purchase of Phlogiston with Rev
5



User interaction and design

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome
Does Rev pay for itself?Rev is a special contract.  It is not like other tokens.  It is a staking token.  Every node is going to run a Rev contract, and they won't be paid for it.  No rent needs to be paid on the Rev token contract.  This is what makes staking tokens special from other types of tokens.

Not Doing