Basic Ledger Transaction

Target releaseMercury
Epic
Document status
DRAFT
Document owner
Designer
Developers
QA

Goals

  • Growth

Background and strategic fit

We have to at a minimum support a basic transaction where Rev is sent from one party and received by another. The transaction must be recorded in a ledger.  Support a basic transaction where Rev and Phlogiston are sent and received between 2 parties and logged in a ledger.

Assumptions

  • Wallet is online relative to the blockchain.  Nash Foster keep me honest here - is this correct?  Should there be another requirement for offline wallets (payment processors)

Requirements

#TitleUser StoryImportanceNotes
1Wallet addressAs a user I need to be able to create a RChain wallet addressMust Have
  • There has been discussions about supporting ETH wallets, but we must avoid the BTC/BTC Cash problem, where the BTC can be sent to a BTC cash wallet (the wallet validates, but then then the BTC winds up on an address to which no one has a key).
  • It is important that we don't make it too easy for people to send their money into a black hole.  Recommend that the addresses begin with RX -where we support the balance of the ETH wallet address format 
2Ledger as a channelAs an RChain node, I need a channel that points to the transaction ledger for RevMust Have
  •  Because all transactions in RChain happen over channels, then the ledger blockchain must also be exposed to contracts as a channel.  
3Ledger maintenanceThe ledger needs to be maintained.Must Have
  • Code creating the ledger will need to be baked into the platform.  the CoOP is responsible for the maintenance of the code that provides the ledger functionality.  

    The maintenance of the live running ledger is the responsibility of the nodes.

4



User interaction and design

Questions

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

QuestionOutcome
What namespace does the ledger channel reside in?Will be one of the first blockchain contracts that will be authored.  
Is the ledger maintained on the RChain network, if so, who maintains the ledger, how are they compensated for that work.Validating transactions and get transaction fees.  Small amount of issuance that happens as part of the validation process.
What is required in Rholang to implement this contract?Rholang is baked.



Not Doing