質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Solidity

Solidityは、仮想通貨イーサリアム上で実行できるプログラミング言語。スマートコントラクトやDAppsなどの開発・実装に用いられます。コントラクト指向・高水準な言語のため、イーサリアム上で動作するEVM Codeに翻訳することが可能です。

Q&A

解決済

1回答

1659閲覧

OpenZeppelinライブラリをimportで呼びたいのですが、呼べません...

RyoAkita

総合スコア12

Solidity

Solidityは、仮想通貨イーサリアム上で実行できるプログラミング言語。スマートコントラクトやDAppsなどの開発・実装に用いられます。コントラクト指向・高水準な言語のため、イーサリアム上で動作するEVM Codeに翻訳することが可能です。

0グッド

0クリップ

投稿2018/10/07 17:17

前提・実現したいこと

OpenZeppelinライブラリのERC20の実装クラスStandardToken.solをインポートしたいのですが、なぜかインポートできません。ファイルの置く場所が違うのかもわからないので原因のある可能性のある場所を提示してほしいです。
StandardTokenを継承したいということですね。
DappsTokenはプロジェクト名です

発生している問題・エラーメッセージ

Source "openzeppelin-solidity/contracts/ownership/Ownable.sol" not found

と、ターミナルに
Identifier not found or not unique.
contract DappsToken is StandardToken {
^-----------^
Compilation failed. See above.

該当のソースコード

pragma solidity ^0.4.23;
import "openzeppelin-solidity/contracts/ownership/Ownable.sol";

contract DappsToken is StandardToken {
string public name = "DappsToken";
string public symbol = "DTKN";
uint public decimals = 18;

constructor (uint initialSupply) public {
totalSupply_ = initialSupply;
balances[msg.sender] = initialSupply;
}
}

solidity

1ソースコード

補足情報(FW/ツールのバージョンなど)

openzeppelinファイルは今、プロジェクトの中の、nude_modulesの中にあります
ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

NPM経由で入れた場合、"openzeppelin-solidity"は"node_modules"フォルダに格納されます。

もしTruffleでSolidityをコンパイルしているのでしたら、どうやらTruffleはnpm経由で入れたものを自動でimportしてくれはしないようなので、相対パスを記述する必要があります。

solidity

1import '../node_modules/openzeppelin-solidity/contracts/ownership/Ownable.sol';

パスは、そのSolidityファイルの位置により変わってくるので注意してください。

また、拝見したところ継承しているのはStandardToken.solのようですが。。

solidity

1contract DappsToken is StandardToken

StandardToken.solであれば、パスが異なっているように思います。

solidity

1import '../node_modules/openzeppelin-solidity/token/ERC20/StandardToken.sol'

自分はOwnableしか使っていないので、未検証です。勘違いしていたらすみません。

また、Solidity系、ブロックチェーン系の質問をするなら、日本はあまり使えないので、StackExchangeなどを活用したほうが良いです。拙い英語でもがんばれば結構答えてくれますのでぜひ。

投稿2018/10/18 02:49

dwayne_johnson

総合スコア86

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問