Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用私钥和密码从地址发送乙醚?_Javascript_Node.js_Ethereum_Web3_Ether - Fatal编程技术网

Javascript 如何使用私钥和密码从地址发送乙醚?

Javascript 如何使用私钥和密码从地址发送乙醚?,javascript,node.js,ethereum,web3,ether,Javascript,Node.js,Ethereum,Web3,Ether,我正在尝试使用PHP和Cron从一个使用web3或类似的现有帐户发送以太,关于如何实现这一点有什么提示吗 我在SQL表中有JSON{“地址”:“0x22b853A8Df90BF9A7e21445C16FBbEaa43e0c307”,“密码”:“inu8p”,“私钥”:“0xB9CABCA09E5CBDF2C953D574BCE5B9D837A91FFE1F3817FC6A01DA63BF5FF56” 问题是javascript不能用CRON执行。 节点中是否有任何库可以通过API或其他方式发送P

我正在尝试使用PHP和Cron从一个使用web3或类似的现有帐户发送以太,关于如何实现这一点有什么提示吗

我在SQL表中有JSON
{“地址”:“0x22b853A8Df90BF9A7e21445C16FBbEaa43e0c307”,“密码”:“inu8p”,“私钥”:“0xB9CABCA09E5CBDF2C953D574BCE5B9D837A91FFE1F3817FC6A01DA63BF5FF56”

问题是javascript不能用CRON执行。 节点中是否有任何库可以通过API或其他方式发送POST请求

非常感谢您的帮助。

您可以使用或使用其他客户端的RPC服务器。您可以通过或甚至节点的http模块向RPC服务器发送请求,但Web3更容易

然后,您可以使用节点cron模块对此进行调度,如下所示:

您将需要确保安全地设置您使用的任何RPC服务器,因为存在针对它们的活动扫描和攻击

部分示例:

//Send some eth every hour
new CronJob('* * * 1 0 0', () => {
  //The following arguments are simplified...
  web3.eth.sendTransaction({from: "0xc0ffee", to: "0xdeadbeef...", value: "1.0"}, () => {
    console.log('transaction sent');
  });
}, null, true, 'America/Los_Angeles');

您希望用PHP发送一个原始以太坊事务,因此在您的情况下,我建议使用这个包

用法非常简单:

$tx = new \EthereumRawTx\Transaction(
\BitWasp\Buffertools\Buffer::hex('d44d259015b61a5fe5027221239d840d92583adb'),
\BitWasp\Buffertools\Buffer::int(1 * 10**18),
);

$raw = $tx->getRaw(\BitWasp\Buffertools\Buffer::hex('b9cabca09e5cbdfb2c953d574bce5b9d837a91ffe1f3817fc6a01da63bf5ff56'));
在本例中,您将1.0 ETH从地址
0x22b853A8Df90BF9A7e21445C16FBbEaa43e0c307
(由私钥
0xB9CABCA09E5CBDF2C953D574BCE5B9D837A91FFEf3817FC6A01DA63BF5FF56
标识)发送到地址
0xD44D25901B61A5FE5027221239D840D923ADB

您只需创建一个PHP文件并将其添加到crontab中


请参阅此处的更多示例:

当然,这里修改了私钥和密码。。。至少我希望你:)这是一个例子:“密码”有什么作用?签署交易所需的只是私钥。从你的例子来看,私钥确实映射到了那个地址。你认为你也能帮上忙吗?