Solidity勉強日誌④view関数ってなに?
view関数を宣言すると、データの読み取り専用の関数になります。そして、view関数はガスがかかりません。
「ガス」またもやEthereumに出てくる概念です。
スマートコントラクトを実施するには、トランザクションを作成しなければなりません。トランザクションはマイナーが検証して正しいものであるということを計算して証明してくれます。誰でもノーリスクでトランザクションを作成してしまうと、どんどんどんどん検証しなければならないトランザクションが作成されて、マイナーの検証作業が追いつきません。そのため、トランザクションを実施するために、ガス(手数料)がかかる仕組みになっています。
view 関数ではガスがかかりません。なぜかというと、view関数を宣言すれば、そのファンクションは、ブロックチェーン上でなにも変更しないからです。ただデータを参照するだけなので、ガスはかからないのです。
そのファンクションを実行するにはローカルのイーサリアムノードに問い合わせるだけでよく、ブロックチェーン上にトランザクションを生成する必要がないことをJavascript側に伝えることが出来るのです。
参考:CryptoZombies
この記事が気に入ったらサポートをしてみませんか?