|
|
| - We need Rholang code and scala code
- Rholang code handles requests for account holders in the child shard. there has to be contracts that they can send the money to, along with a public key.
- Validators need to be watching for messages on that contract. They have to interact with the client api in some fashion (likely internally). They need to be notified that a message has arrived at the contract, and they need to wait for the block to finalize prior to acting on it. Once finalized, they act as clients of the parent shard, making transfers from the depository.
- Child level blockchain, parent level blockchain and a layer below that responds to finalization events.
- It makes sense to separate the communication layer between shards from Minting / burning etc...
- When a validator set change takes place, they have to be issued a share in the K / N contract in the parent shard. This cannot be done immediately. This happens after there is agreement that the validator should be added. Once finalized, then send messages to the parent to update the K/N contract, once finalized, then update the child shard.
- Unbonding
- Slashing
- Cryptographic evidence to remove the validator. Present it to the parent to remove the shares
- Claim should be self contained in order to present to the parent. Would have to be 2 signed messages, where neither is in the justification of the other.
- Coalition
- They can withdraw the money from the depository & no dealing with the coalition.
- The cross shard service
- Client software built into the validator so that it can act as a client of another shard.
- Built in Scala
- Client module that will monitor what is happening on the child shard & the parent shard using RHOL-440 It will operate as a proxy, shuttling messages between those 2.
- Child Shard validators watching events in parent
- Bonding/Unbonding event
- Pushes actions on to the parent to change the K / N contract
- Child watches for this action to finalize
- Minting Rev
- Calls the depository contract to validate the amount of Rev in the depository
- Only mints the delta between the supply in the shard and amount in the depository
- Gathering signatures
- Each validator sends their own message
|