Basic Ledger Transaction

Basic Ledger Transaction

Target release

Mercury

Epic

Document status

DRAFT

Document owner

@Medha Parlikar (Unlicensed)

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

#

Title

User Story

Importance

Notes

#

Title

User Story

Importance

Notes

1

Wallet address

As a user I need to be able to create a RChain wallet address

Must 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 

2

Ledger as a channel

As an RChain node, I need a channel that points to the transaction ledger for Rev

Must Have

  •  Because all transactions in RChain happen over channels, then the ledger blockchain must also be exposed to contracts as a channel.  

3

Ledger maintenance

The 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:

Question

Outcome

Question

Outcome

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