Added IBC MVP spec

This commit is contained in:
Matt Bell 2018-03-12 17:13:37 +01:00
parent ee0b396bad
commit 83ce0ed1f9
1 changed files with 36 additions and 0 deletions

36
docs/spec/ibc/ibc.md Normal file
View File

@ -0,0 +1,36 @@
# IBC Spec
*This is a living document and should be edited as the IBC spec and implementation change*
## MVP1
The initial implementation of IBC will include just enough for simple coin transfers between chains, with safety features such as ACK messages being added later.
### IBC Module
```golang
type IBCOutMsg struct {
IBCTransfer
}
type IBCInMsg struct {
IBCTransfer
}
type IBCTransfer struct {
Destination sdk.Address
Coins sdk.Coins
}
```
## Relayer
**Packets**
- Connect to 2 Tendermint RPC endpoints
- Query for IBC outgoing `IBCOutMsg` queue (can poll on a certain time interval, or check after each new block, etc)
- For any new `IBCOutMsg`, build `IBCInMsg` and post to destination chain
## CLI
- Load relay process
- Execute `IBCOutMsg`