問題タブ [truffle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1738 参照

ethereum - Truffle コンソール変数宣言

私は現在、このチュートリアル ( https://medium.com/zeppelin-blog/the-hitchhikers-guide-to-smart-contracts-in-ethereum-848f08001f05 ) に従って、イーサリアム プログラミングを始めようとしています。ステップ 3 は、デプロイされたコントラクトと対話しています。

入ると

結果として「未定義」になり、次のコマンドも操作できません。私は間違いなく契約を展開しました。

出力を取得し、コントラクト内のすべての関数をリストします。testrpc と geth testnet で試したので、トリュフと関係があると思いますか?

0 投票する
4 に答える
2249 参照

blockchain - Truffle でデプロイされたコントラクトを Etherscan で検証できない

トリュフが solcjs (ローカル コンパイラ) および Remix (オンライン コンパイラ) とは異なるバイトコードを生成するという問題に直面しています。そのため、Etherscan を介して契約を検証できません ( https://etherscan.io/verifyContractを参照) 。

私の環境:

私がやろうとしたこと:

1) 私は、Ownable というシンプルなスマート コントラクトを作成しました。

2) 新しい truffle プロジェクトを開始し、Ownable.sol を "contract" フォルダーにコピーします。

したがって、プロジェクトの構造は次のようにする必要があります。

3) トリュフ プロジェクトをコンパイルします。

コンパイル後、「build」フォルダが作成されます。

4) "build" フォルダーに移動し、そこにある Ownable.json ファイルを検索します。このファイルで、「unlinked_binary」属性で生成されたバイトコードを検索します。値を以下に示します。

0x6060604052341561000c57fe5b5b60008054600160a060020a03191633600160a060020a03161790555b5b60f3806100386000396000f300606060405263ffffffff60e060020a6000350416638da5cb5b8114602a578063f2fde38b146053575bfe5b3415603157fe5b6037606e565b60408051600160a060020a039092168252519081900360200190f35b3415605a57fe5b606c600160a060020a0360043516607d565b005b600054600160a060020a031681565b60005433600160a060020a0390811691161460985760006000fd5b600160a060020a0381161560c25760008054600160a060020a031916600160a060020a0383161790555b5b5b505600a165627a7a72305820607fc60d96cffbd50e58fbc028c1e4b6f3dfdf356bd439390481a479ef8d25500029

5) Remix オンライン コンパイラでコンパイルを試みました。https://ethereum.github.io/browser-solidity/#version=soljson-v0.4.11+commit.68ef5810.js&optimize=true

コンパイルの結果を以下に示します。

6060604052341561000c57fe5b5b60008054600160a060020a03191633600160a060020a03161790555b5b610119806100396000396000f300606060405263ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638da5cb5b81146043578063f2fde38b14606c575bfe5b3415604a57fe5b60506087565b60408051600160a060020a039092168252519081900360200190f35b3415607357fe5b6085600160a060020a03600435166096565b005b600054600160a060020a031681565b60005433600160a060020a0390811691161460b15760006000fd5b600160a060020a0381161560e8576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a723058201eb1de901e30ec9818544272a4c70946cd9cb7cd848237ba3dca118e44d771a60029

6)solcjsを使用してコンパイルしようとしました:

「test-comtract/contracts」フォルダに「Ownable.sol:Ownable.bin」というファイルが作成されます

6060604052341561000c57fe5b5b60008054600160a060020a03191633600160a060020a03161790555b5b610119806100396000396000f300606060405263ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638da5cb5b81146043578063f2fde38b14606c575bfe5b3415604a57fe5b60506087565b60408051600160a060020a039092168252519081900360200190f35b3415607357fe5b6085600160a060020a03600435166096565b005b600054600160a060020a031681565b60005433600160a060020a0390811691161460b15760006000fd5b600160a060020a0381161560e8576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a7230582083a10cb56ea55b0a181cbc132bdf1bd4e0e8a02d5664db73bbc62217f0b7b8d00029

結果: SolJS バイトコードは Remix バイトコードと同じですが、truffle バイトコードとは異なります。

7) また、Truffle を介して、Ownable.sol を Ethereum (TEST_NET) にデプロイしました。次の URL をたどると表示されます。

https://ropsten.etherscan.io/address/0x6c8e1b321ce94b12069222b543558d4159527ecd

たぶん誰かがそのような問題に直面しています。なぜそれが起こっているのか、どんなバージョンでも聞いていただければ幸いです。おそらく、これは Truffle フレームワークの既知のバグです。グーグルで、同様の問題について説明している記事が他にもいくつか見つかりましたが、解決策を提案する人は誰もいません。私は非常に助けが必要です

前もって感謝します!

-- アレックス