代码之家  ›  专栏  ›  技术社区  ›  m1k3y3

ethereum eth\u通过PHP curl发送事务

  •  1
  • m1k3y3  · 技术社区  · 6 年前

    我正在尝试使用PHP curl发送以太坊事务

    有许多其他呼叫成功,但这一个。。。

    代码段:

    $url = "http://127.0.0.1:9999";
    
            $data = array(
                    "jsonrpc" => "2.0",
                    "method" => "eth_sendTransaction",
                    "params" => array("from" => $f, "to" => $t, "gas" => $gv, "gasPrice" => $gp, "value" => $value),
                    "id" => "1"
            );
    
            $json_encoded_data = json_encode($data);
    
            var_dump($json_encoded_data);
    
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
            curl_setopt($ch, CURLOPT_POSTFIELDS, $json_encoded_data);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                    'Content-Type: application/json',
                    'Content-Length: ' . strlen($json_encoded_data))
            );
    
            $result = json_decode(curl_exec($ch));
            curl_close($ch);
    
            $parsed = $result->result;
    
            return $parsed;
    

    JSON编码数据:

    {"jsonrpc":"2.0","method":"eth_sendTransaction","params":{"from":"0x35fa3c7edd23b23bd714fd075d243097e14ed937", "to":"0xdab9a603ed3f1cf7b2b89f1cb1b57145e4828796","gas":"0x15f90","gasPrice":"0x430e23400","value":"0x9b6e64a8ec60000"},"id":"1"}
    

    未提交交易记录,除表单外没有错误 注意 在日志中 PHP Notice: Undefined property: stdClass::$result in...

    命令行:

    curl -H "Content-type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{"from":"0x35fa3c7edd23b23bd714fd075d243097e14ed937","to":"0xdab9a603ed3f1cf7b2b89f1cb1b57145e4828796","gas":"0x15f90","gasPrice":"0x430e23400","value":"0x9b6e64a8ec60000"}],"id":"1"}' http://localhost:9999
    

    以上工作完美。。。

    有人能指出我做错了什么吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   user94559    6 年前

    你的 params 字段缺少换行数组。尝试以下操作:

    "params" => array(array("from" => ...