调用了合约a的一个方法,并且发送的是合约b的代币,而不是主网默认的币。 这一部分的调用和发送代币不会写。要么我写的没有调用合约a的方法,成功发送了合约b的代币,要么就是我调用了合约a的方法,发送的是主网默认币。要的是像图片中这个交易的效果。请大神给指点指点
tx = contract_FarM.functions.Up().buildTransaction({
"from": MyAddress,
"gasPrice": web3.toWei(0.0000005111, "ether"),
"gas": web3.toHex(300000),
"value": web3.toHex(web3.toWei(0.1, "ether")),
"nonce": nonce
})
tx = contract_BB.functions.transer(address,web3.toWei(0.1, "ether"))
.buildTransaction({ "from": moneyb, "gasPrice": gas_price, "gas": web3.toHex(180000) "value": web3.toHex(web3.toWei(0, "ether"))
调用了合约
a
的一个方法,并且发送的是合约b
的代币。
发送合约 b
的代币这个行为是合约 a
方法里面实现的,不用你去操作。你只需要调用合约 a
的方法就行了,a
的方法里面会自动去发送 b
代币,前提是你是否提前调用 b
合约的 approve
方法进行授权?参数 value
的值必须为 0,这个参数表示发送 ETH 的数量。
b
合约方法进行转账授权: approve(a
address, 100);a
合约方法,方法应该有一个参数传递发送 b
合约代币的金额。