How to integrate ServiceNow and Ethereum

  • Wallet application allows managing the wallets across potentially multiple ServiceNow instances. This application shoukd be able to support all Ethereum based ServiceNow applications, besides fungible tokens.
  • Fungible Token application allows managing the creation and the lifecycle of fungible tokens on the NOW Platform. In that application, we’re creating our Employee Reward Token called “NOW-Token.”
ServiceNow and Ethereum integration
  • The MID server is the integration layer between the ServiceNow instance and the public Ethereum network. For the demo, MID server runs Digital Ocean public cloud on Ubuntu Linux 16.04.6 (LTS) x64 server;
  • The MID server works as a wallet server. We’re creating deterministic wallets through the ethreumjs-wallet API with a predetermined password known only to the Token Admin.;
  • The MID server also acts as a command server, from which commands are sent to the Infura Ethereum node through the Infura API and the nodejs web3 library. Web3 is the main library to interact with Ethereum over either Https or Websockets.
  • The MID server critically requires nodejs to install the modules needed for the integration to work (web3 & ethereumjs). These libraries cannot work on the ServiceNow instance as of today.
  • The transactions are created on the MID Server with the ethereumjs-tx, signed with the private key of the wallets and passed to the Infura node as raw transactions.
  • A command can involve both reads from and writes to the public Ethereum network. Read commands are answered by the target node, while write commands require consensus between the target node and all the mining nodes of the network and as such they take at least one block time (10–15 seconds on the Ethereum network)
  • The instance sends commands to the MID server through the ECC queue and expects back the response event, bringing the Ethereum receipts. This behavior is coded in the ECCCommand script include that you can see in this gist. This script is synchronous.
  • The integration uses remote tables to visualize blockchain data, like balances or events raised by smart contracts. You can see the script for the users’ balances table here and for the token minting events table here.
  • An integration with etherscan, a blockchain explorer, and a key component of the Ethereum ecosystem, has been realized.

Stay tuned for more on that!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store