1

私は geth 1.5.2 を持っていて、Mist-linux64-0-8-7 でテストネットに取り組んでいます。関数を呼び出してコントラクトにイーサ (値) を送信しようとすると、単純な問題が発生しました。たとえば、このダミー関数でさえ、ゼロ以外の値では機能しませんが、ゼロ値では正常に機能します。

function t() returns (uint){
    return 1;
}

ここで驚いたことに、「このトランザクションは失敗するようです。送信すると、送信したすべてのガスが消費される可能性があります。」というメッセージが Mist に表示されます。これは、私が提供するガスの量に依存しません。500,000 ガスを入れても取引が完了しないようです。

ここでその結果を見ることができます :

メッセージがあります

警告!コントラクト実行中にエラーが発生しました【ジャンプ先が悪い】

さまざまな契約でさまざまな機能を実行しようとしました。sendTransaction 機能を使用して geth コンソールから直接同じことを行っていましたが、まだ機能させることはできません。誰かが同様の問題を抱えているかどうかはわかりませんでした。アイデアがあれば助けてください。

4

1 に答える 1

2

Solidity 0.4 以降:

Ether を受け取りたい関数は、新しい支払い可能な修飾子を指定する必要があります (指定しない場合はスローされます)。

Athrowはすべてのガスを消費するので、 を使用しますfunction t() payable returns (uint)

于 2016-11-27T00:05:50.933 に答える