ContractINFURAではプライベートキーを提供していない関係で、sendTransactionを利用することができません。ethereumjs-txを利用してトランザクションを生成すれば、デプロイしたコントラクトに対してステートを変更することが可能です。関しては下記ページをご覧下さい。v8.9.3web3@1.0.0-beta.34ethereumjs-tx@1.3.4下記関連ページでは、プライベートネットであるGanache上でコントラクトをデプロイしました。web3.jsでブラウザからコントラクトにアクセスする[Ganache]下記は、そのデプロイしたコントラクトのコードですが、set関数にはコントラクトのステートを変更させる処理が記述されています。web3ではこの処理をsendTransactionによって実行する(set関数を呼び出す)ことできます(上記ページ参照)。name;}}ただ、INFURAでデプロイしたコントラクトに対しては、sendTransactionを利用することができません。先に述べたようにINFURAではプライベートキーを提供していないので、web3だけでは署名付きのトランザクションを生成することができず、コントラクトのステートを変更させるような処理を行えないからです。ethereumjs-txを利用すればトランザクションを生成することが可能となります。今回は、set関数の引数に”hanako”と指定するような処理をトランザクションに設定し、”taro”から”hanako”とコントラクトのステートを変更させるような処理をしてみます。前提として、上記のコントラクトコードをINFURAにデプロイします。その手順に関しては下記のページを参照して下さい。※下記ページ内のHelloWorld.solを、そのまま上記のコントラクトコードに置き換えて下さい。TruffleでINFURAにコントラクトをデプロイする[web3.js]コントラクトをデプロイすることができたら、Node.jsによってそのコントラクトにアクセスします。web3とethereumjs-txをインストールしておきます。v));})});});33行目nonceには、トランザクションを生成するアカウント(つまりfromに設定しているアカウント)のnonceの値が設定されます。