docs: function publishProof(privateKeyHex, toAddress, hash, rpcUri) {
    if (!EthereumUtil.isValidAddress(EthereumUtil.addHexPrefix(toAddress))) {
      throw new Error('Invalid destination address.');
    }
  
    if (!rpcUri) {
      rpcUri = localDefault;
    }
  
    var web3 = new Web3(
      new Web3.providers.HttpProvider(rpcUri)
    );
  
    var tx = buildTransaction(privateKeyHex, toAddress, hash, web3);
  
    var serializedTx = EthereumUtil.addHexPrefix(tx.serialize().toString('hex'));
    var txHash = web3.eth.sendRawTransaction(serializedTx);
    console.log('Transaction hash:' + txHash);
    return txHash;
  }