Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Who is creating the transaction (from address)
  • Who is receiving the transaction (to address)
  • A way to pay for the transaction (transaction cost)
  • Phlogiston to Rev exchange rate (Phlogiston price)
  • Data (Contract code, or a call to a contract)
    • A call to a contract will likely need to have the contract's name hex address & region, not just a hex address in order to support the sharding architecture.

...

  • Parents hash ordered list
  • post state hash
  • new code hash
  • reductions/receipt hash


Storing & Retrieving the Block data

Once a block is finalized, it should be stored on the node.  For Mercury, there is no plan to charge for storing the block data.  At some point after Mercury, the concept of Rent will be introduced, so that if certain validators wish to offer a service for long term storage, this will be supported natively within the platform.  Garbage collection (deletion of old data) will be introduced along with the Rent feature.

A node serving a particular region (namespace or shard) will only have to store blocks for that particular region/namespace/shard.    Question: How does one view the data in the entire network?  Is there a blockchain explorer that would allow this to happen- perhaps it doesn't matter, as no one can see the graph of the present day internet (or it's not that interesting to see)

A widespread problem in Ethereum is that the block data is not accessible for querying, resulting in dApp developers implementing a separate database to query the data, resulting in stale data in the result set.  Implementing an elegant solution to this problem directly within the node will be a big motivator for developers to adopt the RChain platform.  This requires having a queryable data store for the blockchain and an interface to the data store.

The block data should be stored in an instance of RSpace- or at a minimum in an LMDB store - and there should be a mechanism to query the block data by using Rholang.  DApp developers could can use a read only node (unbonded validator)  for the purposes of serving up the blockchain data.  They can create an application in Rholang A gRPC API will provide a mechanism to query the blockchain and serve up the datablock data in a fashion similar to GraphQL