Vipnode: Progress Update #2

Andrey Petrov
Vipnode
Published in
3 min readSep 4, 2018

Overall: Trimmed scope to meet end-of-August milestone due to some delays.

What went well?

  • Infura partnership is official! I’m collaborating with the team towards building out the Vipnode protocol and tooling to power a more decentralized Infura. 🎊
  • New redesign of vipnode.org is up, thanks to Tracy Osborn. 🎉
  • Ethereum Foundation grant funding was successfully disbursed. 💸
  • Blocking pull request to go-ethereum was finally merged and released (rpc: Add admin_addTrustedPeer and admin_removeTrustedPeer). This was the only upstream blocker for the vipnode design. I’ve been trying to push this through for a long time so I’m quite excited. 🥳
  • github.com/vipnode/vipnode command-line is partially functional, and I am in the process of setting up a public demo. The payment component is entirely missing for now, but you can get a feel for the flow in general. 📠
  • Some discussions with status-im about integrating vipnode. Nothing formal yet, but there is a lot overlap here. 👩‍💻
  • Interest from several smaller groups who offered to put up resources or joining a vipnode pool with their own nodes. A bit too early for that, but soon! 😎

Unplanned Delays

  • The pool-host RPC connection requires bi-directional calling (diagram). In theory, there is nothing about the JSONRPC2.0 spec that prevents this, but unfortunately I was unable to find any libraries that implement it. I ended up writing my own library that supports bidirectional RPC — it has some good ideas but still needs a lot of cleanup and polish. Overall I’d say this detour used up 2 weeks so far, and probably needs another 2 weeks for “Production Ready” polish. I am also considering just switching to gRPC, which would also probably be around 2 weeks of work. Any informed thoughts on this are welcome.
  • I tried to get a hold of some go-ethereum core devs to confirm my findings regarding the Custom Boot Node progress in the previous post, but it seems all the relevant people decided to take extended vacations during the past couple of months (related to why the PR took so long to merge). At this point it’s too late to pursue that path, which is fine.

What’s next?

  • Payment and client registration component for vipnode. The reference implementation will be smart contract based again, much of the work on it is already done here: https://github.com/vipnode/vipnode-contract
  • Make sure Parity is well-supported (the plumbing is there, but it needs more attention to make sure there aren’t any surprises).
  • Deploy a vipnode pool that other third-party hosts and clients can join. This is the completion milestone for the Ethereum Foundation grant proposal. (Aiming for sometime in September.)
  • Write up good documentation for onboarding vipnode hosts and clients. Clean up Github issues to make it easier to get a feel for project state.
  • Start working with Ethereum wallets towards integration.
  • There are several not-critical Parity client RPC features that may need to be upstreamed. Particularly per-peer Connect/Disconnect RPCs for Parity, but it’s less urgent.
  • Lots of stuff in the v3 wishlist, but not going to start thinking about this until the next milestone.

Much to do over September and October. Expect an announcement when vipnode v2 is ready for your nodes!

🍁

--

--

Andrey Petrov
Vipnode

A doodler and computerer. I like open source, room-scale virtual reality, and p2p systems. YC alum and Xoogler. Cat person. ➲ https://shazow.net/