見出し画像

Solidity勉強日誌12コントラクトへアクセスするためのメソッド

Web3.jsにはコントラクトを呼び出すための2つのメソッドがあります。

callsendというメソッドです。

callはview関数およびpure関数に使われます。view関数は前の記事でやりましたね。データを参照するだけの読み込み専用の関数でトランザクションが発生しないので、ガスが掛からないのでした。

pure関数は、状態変数のデータを参照することもしません。関数の引数として入れた値のみを使う関数のことをpure関数と言います。

注:ローカル変数は、関数内部の変数のこと。状態変数は、関数の外にある変数のことです。

Web3.jsを使って、次のように123をパラメーターにしてmyMethodという名の関数をcallしました。

myContract.methods.myMethod(123).call()

sendは逆ですね。トランザクションを生成し、ブロックチェーン上のデータを変更する事になります。viewまたはpureではない関数には、sendを使う必要があります。

Web3.jsを使って、次のように123をパラメーターにして、myMethodという名の関数を呼び出すトランザクションをsendしました。

myContract.methods.myMethod(123).send()

参考:CryptoZombies


この記事が気に入ったらサポートをしてみませんか?