*

【備忘録】Solidity スマートコントラクトのコンパイルエラー

GWはブロックチェーンを勉強中のTatsuyaです。

 

Udemyのこのコースで勉強中です。

Ethereum and Solidity: The Complete Developer’s Guide

https://www.udemy.com/ethereum-and-solidity-the-complete-developers-guide/learn/v4/overview

 

しかし、開発言語Solidityや solcのアップデートが反映されていないようなので、スマートコントラクトのコンパイルで手間取ったところをメモ。

 

契約ファイル

Inbox.sol

コンパイルファイル

 

これで、コンパイル!

$ node compile.js

 

こんなエラーが出た。

 

Error: ENOENT: no such file or directory, open ‘/Users/tatsuya1970/learnBlockchain/inbox/constracts/Inbox.sol’

    at Object.fs.openSync (fs.js:646:18)

    at Object.fs.readFileSync (fs.js:551:33)

    at Object.<anonymous> (/Users/tatsuya1970/learnBlockchain/inbox/compile.js:6:19)

    at Module._compile (module.js:652:30)

    at Object.Module._extensions..js (module.js:663:10)

    at Module.load (module.js:565:32)

    at tryModuleLoad (module.js:505:12)

    at Function.Module._load (module.js:497:3)

    at Function.Module.runMain (module.js:693:10)

    at startup (bootstrap_node.js:188:16)

 

ググると、

StackOverflowに解決方法あり。

https://stackoverflow.com/questions/53353167/npm-solc-assertionerror-err-assertion-invalid-callback-specified

 

solcのバージョンが古いからだそうだ。

 

solcをアンインストールし、

バージョン0.4.25をインストール

 

$ npm uninstall solc

$ npm install solc@0.4.25

 

Inbox.solの一行目も0.4.25に変更

pragma solidity ^0.4.25;

 

これでコンパイル

$ node compile.js

 

これでもなんかエラーが出た。

errors:

   [ ‘:7:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use “constructor(…) { … }” instead.\n    function Inbox(string initialMessage) public {\n    ^ (Relevant source part starts here and spans across multiple lines).\n’ ],

  sourceList: [ ” ],

  sources: { ”: { AST: [Object] } } }

 

これもググってみると、

ここに回答あり。

https://ethereum.stackexchange.com/questions/45972/ive-got-an-error-while-compiling-use-constructor-instead

 

最新のSolidityでは契約の書き方が変わっている。

 

ではなくて、

 

 

 

これで、コンパイル

$ node compile.js



うまくいったぜ!

 

 

ad

    この記事が気に入りましたら、ぜひTwitter、facebookボタンをお願いします。
    ブログを書くモチベーションになります。よろしくお願いします。

  • このエントリーをはてなブックマークに追加
この記事が良かったらビットコインで寄付をお願いします。
ビットコイン投げ銭ウィジェット



関連記事

トランプと多様性とノマドとブロックチェーン

トランプ大統領が誕生しました。 数年後の我々は振り返ることでしょう。 今日という日が歴史的な

記事を読む

【iPhoneアプリ開発備忘録】Unityで作ったアプリにiAdを実装する方法

        UnityにiAdを実装する方法を 何回やっても毎回忘れるので、自分用に備

記事を読む

【備忘録メモ】Flaskアプリのエラー「ModuleNotFoundError: No module named ‘XXXXX’」

  すでに、pip install しているのに、   エラー 「ModuleNotFoundErr

記事を読む

シンガポールのスタートアップ関連英文記事を要約してみるシリーズ(その2:Electrify)

訳あって当面シンガポールのスタートアップ事情を調べることになったのですが、日本語の情報が少ないので、

記事を読む

TOAオフィシャル視察ツアー2019(その2:TOA)

  2019年7月2日(火)~7月5日(金)に、インフォバーンさん主催のTOAオフィシャル視察ツアー

記事を読む

ad

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ad

    • 989390総閲覧数:
    • 411今日の閲覧数:
    • 957昨日の閲覧数:
    • 2現在オンライン中の人数:
    • 2014年4月29日カウント開始日:
PAGE TOP ↑