Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Roadmap #2

Closed
4 of 37 tasks
ghost opened this issue Feb 22, 2018 · 1 comment
Closed
4 of 37 tasks

The Roadmap #2

ghost opened this issue Feb 22, 2018 · 1 comment

Comments

@ghost
Copy link

ghost commented Feb 22, 2018

Yet another roadmap...

Moving from MetaMask/eth-ipfs-browser-client#1

Ethereum Browser Light Client Roadmap (MVP)

Divided in five big areas

  • Obtaining Data from devp2p
  • Kitsunet: metamask peer network
  • Bridge Peers: Make eth contain available to libp2p
  • Browser Peers Why we are here
  • Metamask Extension Ops

OBTAINING DATA FROM devp2p

  • Devp2p Node Scrapper
  • Block Header Sync
  • Client Fork (to add trie nodes to RedisDB)
  • Snapshot download (from devp2p)

KITSUNET (Metamask peer network)

  • Add mustekala box mk1 docker to repo
    • Deploy
  • Signalling servers
    • Docker package
    • Deploy
    • Network bootstrapping
  • PubSub Testing for blockchain head update
    • May include signature of messages / "network of trust" ?
  • Messaging testing
    • Request an "index"
  • Metrics
    • Collection

BRIDGE (Make eth content available to libp2p)

(go-ipfs)

  • Mount RedisDB Datastore problem
  • Bootstrap into kitsunetto
  • Custom Content Routing System
    • Sharding criteria, metadata indexes, "delta computations", etc
  • Publish new blockchain head
  • Respond to requests
    • eth - ipld dag requests
    • CRS indexes requests

PEERS

(js-ipfs)

  • Bootstrap into kitsunetto
  • Subscribe to new blockchain head
  • Custom Content Routing System
    • Maintaining Ethereum Trie Shards
      • Deterministic and/or discrete
      • Incentive system
      • Updating them on triggers, request indexes, compute deltas, request parts.
  • Manage other peers requests
    • eth - ipld dag requests
    • CRS indexes requests

Metamask Extension Ops

  • eth_blockNumber
  • eth_getBalance
  • ... more to come. (See breakdown in comment below)
@ghost ghost mentioned this issue Feb 22, 2018
32 tasks
@ghost
Copy link
Author

ghost commented Feb 22, 2018

break down of rpc methods and node requirements (updated)

client
  eth_protocolVersion
  eth_syncing
  eth_coinbase
  eth_mining
  eth_hashrate
  eth_gasPrice
  eth_accounts
  eth_sign
  eth_sendTransaction
  eth_sendRawTransaction
  eth_newFilter
  eth_newBlockFilter
  eth_newPendingTransactionFilter
  eth_uninstallFilter
  eth_getFilterChanges
  eth_getFilterLogs

client broadcast
  eth_sendRawTransaction

ipfs
  eth_getBlockByHash
  eth_getUncleByBlockHashAndIndex

ipns/block syncing (head tracking)
  eth_blockNumber

ipld:selectors (selectors/transforms)
  eth_getBlockTransactionCountByHash
  eth_getUncleCountByBlockHash

index:txToBlock (coselector)
  eth_getTransactionReceipt
  eth_getTransactionByHash
  eth_getTransactionByBlockHashAndIndex

log query?? / geth bloomFilterTrie / index:logToTx
  eth_getLogs (+index:logToTx)

lazy vm (slow) / remote vm + proofs (faster)
  eth_call
  eth_estimateGas

index:CHT
  eth_call
  eth_estimateGas
  eth_getBalance
  eth_getStorageAt
  eth_getTransactionCount
  eth_getCode
  eth_getBlockByNumber
  eth_getTransactionByBlockNumberAndIndex (+index:txToBlock)
  eth_getBlockTransactionCountByNumber (+ipld:selectors)
  eth_getUncleCountByBlockNumber (+ipld:selectors)
  eth_getUncleByBlockNumberAndIndex
  eth_getLogs (+log query)

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants