How to Connect a Blockchain to the Wolfram Language

Piero Sanchez
Wolfram  Research South America

(RowDefault[, (Spacer1), , (Spacer1), ])  #WolframTechConf

ABSTRACT

We have been integrating the Wolfram Language with multiple blockchains in the recent years, but now we are expanding the capabilities for our users to create their own connections to other blockchains.

Decentralized technologies are creating new use cases that go beyond financial applications and by integrating them with WL, blockchain data can be turned into computable data to take it to a whole new level for analytics, research, exploration and other user applications.

In this talk we’ll do a live demonstration of how easy it is to connect the Wolfram Language to a blockchain, giving the audience an insight of a future repository that will host blockchain connections and discuss the challenges we faced to implement a framework that seamlessly works with our blockchain functionalities.

Blockchain Functions Overview

Reading

BlockchainData

BlockchainBlockData

BlockchainTransactionData

BlockchainAddressData

BlockchainTokenData

Writing

BlockchainTransaction

BlockchainTransactionSign

BlockchainTransactionSubmit

BlockchainData[BlockchainBase->"ARK"]//Dataset

BlockchainBlockData[1000000,BlockchainBase->"Ethereum"]//Dataset

BlockchainTransactionData["8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87",BlockchainBase->"Bitcoin"]//Dataset

Implemented Blockchains

Bitcoin

Ethereum

ARK

Bloxberg

Tezos

Cardano

Definition Notebook Structure

General blockchain details

Raw data endpoints and testing

Request function definitions for each blockchain function

Documentation and examples or each blockchain function

Additional submission information

Definition Notebook Example

The objective is to connect a public blockchain API to our blockchain functions

Fill in the Definition Notebook with the raw data Endpoints of the API

Create Request functions with the correct format

Prepare Documentation and Examples for each function

Deploy the resulting ResourceObject for testing and submit to the Blockchain Repository for review

Closing Remarks

Integrating a new blockchain to the Wolfram Language is demanding in terms of development time and storage.

As an alternative, we are developing this service to simplify the connection between new blockchains and our functions.

This new service will allow developers to submit their blockchain integrations to the Blockchain Repository for review.