故障排除
你是否有一个web3j的示例工程
是的,web3j的示例工程标识在Quickstart。
我正在提交一个交易,但是没有被挖到
在创建并发送一个交易之后,你会收到一个交易的hash,调用eth_getTransactionReceipt总会返回一个控制,这标识这个交易还没有挖到:
然而,你从来没有收到一个交易回执。很不幸,在以太坊客户端中没有这个交易的错误信息。
最简单的方式去看这个提交是否被挖到了是在Etherscan中使用https://testnet.etherscan.io/address/0x查找这个交易。如果你的提交已经成功了,在你执行交易提交之后的几秒之后,你可以在Etherscan中看到这个交易。等待时间是挖矿的时间。
如果你没有给这个交易签名,这将会消失在以太坊中。最可能的原因是交易随机数没有设置或者设置的太低了。请通过交易随机数章节来获取更多信息。
我想要看JSON-RPC请求和回应的详细信息
web3j使用SLF4J,这是一个你很容易接入的首选日志框架。一个轻量级的方式是使用LOGBack,这已经在integration-test模块中集成了。
说明
如果你为你的应用配置了日志框架,你需要确保你配置了Logback的compile依赖,那个配置文件在src/main/resources/logback.xml
中。
我想获得一些测试网络的以太币,但是我不想挖矿
你可以通过Ehtereum testnets来获取一些以太币。
我怎么去获取通过交易调用的智能合约方法的返回值?
你不能(获得返回值).没有办法去获取通过交易调用的以太坊方法的返回值。如果你想要在交易中读取一个值,你必须使用事件。如果你想要查询一个在智能合约上的值,你必须使用调用,这个和交易是独立的。这些方法被标记为常量函数。Smart smart contract wrappers替你处理了这些不同点。
下面的StackExchange的post对于了解背后的原理是非常有用的。
有没有可能在交易中发送一个随意的文本
这是可以做到的。文本应该是ASCII编码的,并且需要转化成16进制的字符串被放在交易的data字段中。下面是这个的说明:
提示
请确保你增加了交易的gas limit来保存这些文本。
下面的StackExchange的post对于了解背景是非常有用的。
我生成了智能合约的包装,但是智能合约的二进制是空的?
如果你声明了一个Solidity的接口,但是你的一个方法实现和原始的接口定义不匹配,这将会导致二进制是空白的。
在下面这个例子中:
我们忘了在继承的合约中声明from
变量:
我的ENS查询失败了
你确定你是否连接了正确的网络去执行解析?
如果web3j告诉你这个节点还没有同步,你需要改变ENS_resolver中的syncThreshold
。
你们是否有一个项目捐赠地址?
当然,你可以捐助Bitcoin或者Ether来自主我们开发web3j。
Ehterenum
0x2dfBf35bb7c3c0A466A6C48BEBf3eF7576d3C420
Bitcoin
1DfUeRWUy4VjekPmmZUNqCjcJBMwsyp61G
Last updated