交易管理器
web3j提供了一个交易管理器TransactionManager来控制你连接到以太坊客户端的方式。默认机制使用web3j的RawTransactionManager,它与以太坊钱包文件一起工作,在提交到网络之前离线地签署交易。
但是,你可能希望修改交易管理,也可以将其传递给智能合约部署和构建方法deploy
,而不是凭据对象,即:
YourSmartContract contract = YourSmartContract.deploy(
<web3j>, <transactionManager>, GAS_PRICE, GAS_LIMIT,
<param1>, ..., <paramN>).send();
除了RawTransactionManager
之外,web3j还提供了一个客户端交易管理器ClientTransactionManager,它将你的交易签署的责任传递给你正在连接的以太坊客户端。
还有一个ReadonlyTransactionManager
,用于只从智能合约中查询数据,而不与它进行交易。