*

【備忘録】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ボタンをお願いします。
    ブログを書くモチベーションになります。よろしくお願いします。

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



関連記事

Maker Faire Tokyo に出展したIoTクソゲー「うちわdeファイト」の作り方

       8月4日・5日 Maker Faire Tokyo 2018 に出展したIoTクソゲー

記事を読む

【GitHub初心者用備忘録】最低限知っておくべきコマンド

    たまに、クラウドソーシングで外国人に仕事を頼むときにGitHubを使うのですが、いつ

記事を読む

【Ruby on Rails 備忘録】Errno::ECONNREFUSED: Connection refused – connect(2) for action mailer の解決方法

      Ruby on Railsで WEBサービスを作成中。   コメントがあったら

記事を読む

『ビットコインはどのようにして動いているのか?』を読んで、ブロックチェーンの仕組みを大雑把にまとめてみた

最近「フィンテック」なる言葉をよく聞くようになりました。 金融(Finance)と技術(Techn

記事を読む

お勉強がてらブロックチェーンについてワンペーパーでまとめてみた

    最近、職場でデジタルに詳しいと勘違いされているTatsuyaです。 (最近流行りの錯覚資産!

記事を読む

ad

Message

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

ad

TOAオフィシャル視察ツアー2019(その1:スタートアップ企業・イノベーション施設視察)

  2019年7月2日(火)~7月5日(金)に、インフォバーン主催のT

お勉強がてらブロックチェーンについてワンペーパーでまとめてみた

    最近、職場でデジタルに詳しいと勘違いされているTatsuyaで

【備忘録メモ】TensorFlow実行環境構築(Win10)

自分用メモとして、TensorFlowの実行環境の構築手順を残す。  

【備忘録メモ】深圳SiPEED社のAIoT開発ボードMAiX BiTの顔検出のデモを試してみた(Mac)

    昨日妻が東京に旅行に行ったとき、秋葉原のShigezoneと

G20福岡のプレイベントのデジタルビジネスアイデアソンに参加

    先週6月2日、G20福岡のプレイベントのデジタルビジネスアイデ

→もっと見る

    • 604678総閲覧数:
    • 549今日の閲覧数:
    • 2093昨日の閲覧数:
    • 11現在オンライン中の人数:
    • 2014年4月29日カウント開始日:
PAGE TOP ↑