オブジェクト指向プログラミング言語「Solidity」でSolデータをコンパイルすると「compiler Metadata is modifying」と表示されることについて書いてみます。
「Remix(Browser-Solidity)(https://remix.ethereum.org/)」というIDE(統合開発環境)を使用し、新しいSolデータを作成し、プログラムを記述し、コンパイルします。
■コード
pragma solidity ^0.8.3; contract HelloWorld { string public greet = "Hello World!"; }
今回書いたプログラムは上記です。
コンパイルすると、「compilerMetadata is modifyingcontracts/artifacts/HelloWorld.json」という警告のポップアップが表示されました。「compilerMetadataは変更中です」という内容で、これを表示させないようにしてみます。
Remix(Browser-Solidity)の左下にある歯車マークをクリックします。
クリックすると、「SETTING」の項目が表示され、「General settings」の「Generate contract metadata. Generate a JSON file in the contract folder. Allows to specify library addresses the contract depends on. If nothing is specified, Remix deploys libraries automatically.(コントラクトのメタデータを生成します。コントラクトフォルダにJSONファイルを生成します。コントラクトが依存しているライブラリのアドレスを指定できます。何も指定しない場合、Remixは自動的にライブラリをデプロイします。)」のチェックボックスからチェックを外します。
チェックを外した後に、Solデータを、コンパイルすると「compilerMetadata is modifyingcontracts/artifacts/HelloWorld.json」という警告のポップアップが表示されなくなりました。
その後、「DEPLOY & RUN TRANSACTIONS」で「Deploy」を行い、greetをクリックすると、「Hello World!」の文字列が表示されました。
コメント