Ruby gem alpha launch, test wallet app and and Ceph exploration

Hi.

Over the past few weeks, I’ve made some progress.

Most progress was made on the first cut of the ruby gem. https://github.com/blockchain-node/ruby-client The basic functionality of being able to connect to a launched BCN node and make any RPC call over HTTPS fully working. I’ve been working on building some specific support for certain nodes - bitcoin and ethereum.

The skeleton to my first app being written on this platform is taking shape as well. I’ve decided to keep it simple and do a basic cross node wallet. Drop in your API keys, start the app and you have visibility into your hosted wallets, can create new wallets and/or accounts and view and send transactions. More to come here.

I’ve also spent some time exploring options for different distributed file systems. I ended up going pretty deep with ceph. Ceph provides distributed object and block device storages across a cluster of computers. I built a 4 node cluster using i3.large nodes that have NVMe backed SSD drives. At first, I was getting performance that was on slightly under a stock EBS gp2 volume at around 120 MB/s sequential read / write. When I reduced the replication to 2, from the default of 3 shards per object, it spiked up to about 140-150 MB/s. This was still not nearly as performant as a large 2TB+ EBS gp2 volume where you can get sustained speeds of around 250MB/s. The real hit was the random access performance tests. I cancelled the test suite after about 30 minutes when it still hadn’t finished.

Thanks for reading.
Matt