0%

StudyRecord-使用Python转账monero

下载门罗币软件:

https://www.getmonero.org/downloads/#cli

20231212000102

我这里选择macos Intel版本.
使用python脚本进行转账的前提是需要运行起:

  1. 守护进程

  2. 钱包Rpc

运行守护进程:

此处可以选择本地节点或远程节点.
如果在本地运行monerod守护进程的话,它会开始同步区块,数据量有点大。
为了方便,少运行一个进程,直接在列表中选择一个远程公共节点。

20231212000510

运行钱包Rpc:

1
2
3
4
5
# 进入到monero软件文件夹
cd /xxx/monero-x86_64-apple-darwin11-v0.18.3.1

# 运行起钱包rpc,连接远程公共的守护进程节点
./monero-wallet-rpc --wallet-file "../testone.keys" --password "YourPwd" --daemon-address moneronode.org:18081 --rpc-bind-port 18089 --disable-rpc-login

Python转账:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from monero.wallet import Wallet
from monero.backends.jsonrpc import JSONRPCWallet
from decimal import Decimal

wallet = Wallet(JSONRPCWallet(port=18089)) # 连接wallet Rpc

print(wallet.address())
print(wallet.balance())

txs = wallet.transfer(
'46EsfH8H9TriLXb54U1Q916cWunwGDsgRZHgRXCVP5vzfiwKYvvuo78hyWAc12vXWZ3LVT9o7qEj4iYBvv8yPhEN4N91Hn8', # my addr
Decimal('0.01'))

print(txs)
print(wallet.confirmations(txs[0]))
print(wallet.outgoing(unconfirmed=True, confirmed=False))

执行脚本后,拿tx hash去浏览器查询交易进度。
https://localmonero.co/blocks/search/f67aa5539f051ca450402445b929c43ecbb8a2e6304b8e329b1c7490e46d9d9d

20231212001900

最终查看本地Gui客户端,可以知道转账成功了。
WeChatWorkScreenshot_1fbcf509-6196-4da3-aaed-126898fb9cd3

Refs: