大家上午好,这里是链客区块链技术问答社区,以下是我们通过社区成员提出精彩的问和答总结出来的实战经验,希望大家可以关注以下,感谢大家的支持!
以太坊区块怎么查看是那个节点开采的?
答:eth.getBlock();有个miner字段,那就矿工地址。
查看以太坊区块的timestamp为1534142447,转换后时间为1970/01/1902:09:02,明显时间不对?
答:这个时间是单位是秒,java里的时间单位是毫秒,加三个0就行了。
在新建帐户的时候如果不通过accounts.create通过newAccount()的话,它是返回一个地址,而不是Account对象,里面没有私钥,请问如何获取这个私钥?
答:私钥是生成在keystore文件下面。
web3.js里面,用指定的用户来调用,如何实现签名?难道需要使用data来进行调用吗?
答:携带参数from:即可,creat是本地生成,newAccount是通过geth节点生成。
怎么做一个像eth那样的离线签名,在客户端直接生成转账签名串?或者有什么例子和好的库吗?
答:web3就可以实现的。先生成交易数据字符串,然后对交易数据签名,然后发送给节点。
钱包生成的keystore是什么时候给回给用户?
答:这是一种中心化生成钱包的方法。用户备份账户的时候,返回给用户即可。不过这种钱包我是不会用的,因为服务器保存了我的秘钥,这个严重违背了去中心的思想,也会让用户感觉自己的账户不安全,被控制着。
访问以太坊kovan测试链,一台代码一台电脑能获取那个transactionCount,代码扔到服务器上就取不到这个数据了?
答:eth.syncing,还没同步完吧。
以太坊合约里边可不可以引用其他代币,判断执行某一个操作有没有向合约转一定数量的erc20代币。主要问题是监听到有没有转账成功,成功了再去执行一个function剩下的逻辑?
答:你可以在ERC20接口里,写一个只能智能合约调用的转账方法,然后再ERC721写一个交易方法,同时完成调用ERC20转账功能,和ERC721交易功能。
solidity中如何引用已经部署在链上的library?
答:library就是为了部署一次,多次使用的。去了解一下DELEGATECALL的用法。
gasrequiredexceedsallowanceoralwaysfailingtransaction估算gas时报这个什么原因?
答:gas不够,提高gas,交易携带参数gas:6000000。
web3=newWeb3(newWeb3.providers.HttpProvider;这个地址怎么填?
答:-rpcaddr"127.0.0.1"-rpcport"8545",ip和端口是你启动时设置的这两个参数,格式就是你上面的格式。
solidity小数怎么取整?
答:solidity里面没有小数啊,只有无符号整数,代币的小数部分,是用很多0来凑的,所有有个256位int型。
以太坊erc20交易的转账to地址一定是这个token的合约地址吗?还是可能是其他合约地址?
答:合约中如果有类似这样的方式,functiontransfer(address_to,uint256_value)publicreturns(boolsuccess);这个方面里面的to是接受的地址
调用上面这个方面类似代码如下:
JsonRpc.CallArgumentsca=newJsonRpc.CallArguments();
ca.from=cowAcct;ca.data=TypeConverter.toJsonHex(CallTransaction.Function.fromSignature(method,types).encode(values));ca.to=contractHash;//合约地址,这里的to是合约地址,向合约发送数据。
发送交易,你们的nonce值,是外部数据库维护一个值吗?还是web3j去获取pending的nonce值?
答:nonce值是在状态树中的,一般不用设置,让其自动设置就行了。只有在需要取消pending的交易的时候,才会指定nonce用新的交易替代旧的交易。当然你也可以自己维护,不过每次使用的一定要比状态树中保存的大才行,不然会出错。
以太坊怎么区分转账是否是矿工奖励以及需要用这些金额有什么限制吗?
答:矿工奖励没有from账户。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。