Polyglot Ethereum Libraries and Clients

It seems natural that multi-signature transactions and smart contracts will commonly be integrated into enterprise infrastructure. We anticipate singificant need for system integration and are working towards blockchain architecture and features that support enterprise needs.

‘Polyglot’ means “of many languages”, and we believe that enterprises that integrate smart contracts into their infrastructure will require solutions that incorporate many simultaneous software languages, libraries and runtime environments, all working as one in a distributed environment.

Mike Slinn will present his work in progress at the World Crypto Economic Forum in San Francisco, January 15-16, 2018.

Proofs of Concept / Corporate Sponsors Wanted

The only way to provide value is to serve customers. We actively seek opportunities to develop blockchain-related prototypes and proofs of concept. We would be happy to present our work and discuss sponsorship opportunities for our open-source libraries.

We are interested in blockchain, especially Ethereum and other smart contract platforms. If your organization has a need to integrate existing or custom server software and/or users with smart contracts, Micronautics Research can deliver a polyglot solution based on code written using many languages, libraries and runtimes.

Hot Libraries

Mike Slinn is leading the charge with the following libraries right now:

  • web3.js is a JavaScript library for integrating with nodes on Ethereum blockchains.
  • web3j is the Java version of web3.js. web3j is a lightweight, reactive, somewhat type-safe Java and Android library.
  • web3j-scala is a lightweight and idiomatic Scala wrapper we wrote around web3j-scala.
  • Mike is also playing with consuela, a 100% Scala Ethereum library, and its cousin, sbt-ethereum. Check out the documentation!

The intention is to use one of these libraries to provide the Ethereum interface for beth, a better Ethereum client. Here are the slides for a presentation Mike gave to the Silicon Valley Ethereum Meetup's Pitch Night December 17, 2017.

Mike Slinn will present an update of his work at the World Crypto Economic Forum in San Francisco, January 15-16, 2018.

Towards A Better Ethereum Command-Line Client

This video below shows some early work on an integration project featuring a command-line interface. The beth project is written in Scala, which runs on the Java Virtual Machine. This project currently supports multiple custom shells (another name for ‘shell’ is ‘REPL’). The shells and the shell management are initially defined in the cli-loop project.

The video shows a nascent Ethereum shell, and a JavaScript shell built from a mixture of Java and Scala code. The shells all run independently, and each type of shell has its own type of evaluator. Since the video was made we have added Ruby and Python interactive shells. More types of shells and evaluators are possible. We plan to greatly expand the degree to which shells can interoperate with each other, as well as the degree to which the shells can interoperate with JVM code and shared data. Vert.x is showing a lot of promise and will probably be woven into the first release of a distributed product.