web3.py之Python开发以太坊智能合约签名交易转账的用法注意事项

 发送交易的nonce=self.eth.getTransactionCount(self.eth.coinbase) 是官方案例提供的自动获取这个地址的交易数量,如果随意修改这个值,交易签名发送会失败!!

    def send_signed_transaction(self):
        # 特别注意:这里的nonce=self.eth.getTransactionCount(self.eth.coinbase)就是获取从此地址发送的交易数量!
        # nonce是唯一的,这里如果获取不唯一,会失败!
        signed_txn = self.eth.account.signTransaction(dict(
            nonce=self.eth.getTransactionCount(self.eth.coinbase),
            gasPrice=self.eth.gasPrice,
            gas=100000,
            to=self.eth.accounts[1],
            value=11,
            data=b'',
            chainId=3
        ), "0xee9eb15a7f063b484355e7372bcbcff186bc6a9aa9575cd5b26fda323fc72f45")
        signed = self.eth.sendRawTransaction(signed_txn.rawTransaction);
        print(signed);

 

你可能感兴趣的:(web3.py)