NodeJS 如何使用私钥和密码从Address发送Ether?

cfh9epnr  于 2023-05-06  发布在  Node.js
关注(0)|答案(2)|浏览(123)

我试图使用PHP和Cron从现有的帐户使用web3或类似的东西发送以太币,任何技巧,我如何才能完成这一点?
我在SQL表{"address":"0x22b853A8Df90BF9A7e21445C16FBbEaa43e0c307","password":"inu8p","privateKey":"0xb9cabca09e5cbdfb2c953d574bce5b9d837a91ffe1f3817fc6a01da63bf5ff56"}中有JSON
问题是JavaScript不会使用CRON执行。Node中是否有任何库可以通过API或其他方式发送POST请求?

mbskvtky

mbskvtky1#

你想用PHP发送一个原始的以太坊交易,所以在你的情况下,我推荐php-eth-raw-tx包。
用法很简单:

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

$raw = $tx->getRaw(\BitWasp\Buffertools\Buffer::hex('b9cabca09e5cbdfb2c953d574bce5b9d837a91ffe1f3817fc6a01da63bf5ff56'));

在这个例子中,您从地址0x22b853A8Df90BF9A7e21445C16FBbEaa43e0c307(由私钥0xb9cabca09e5cbdfb2c953d574bce5b9d837a91ffe1f3817fc6a01da63bf5ff56标识)发送1.0 ETH到地址0xd44d259015b61a5fe5027221239d840d92583adb
你需要做的就是创建一个PHP文件并将其添加到crontab中。
查看更多示例:https://github.com/Domraider/php-eth-raw-tx/tree/master/examples

cbjzeqam

cbjzeqam2#

您可以使用geth或其他客户端的RPC服务器。您可以通过web3甚至node的http模块向RPC服务器发送请求,但Web3更简单。
然后,您可以使用node cron模块进行调度,如以下所示:https://www.npmjs.com/package/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');

相关问题