blockc0de
blockc0de

注册于 2021-10-02

江湖只有他的大名,没有他的介绍。

向TA求助
560学分数
471 贡献值
9个粉丝

63 个回答

0 赞同

内部交易检测问题

ERC20代币才有log,原生代币转账没有log。geth节点开启 [debug](https://geth.ethereum.org/docs/rpc/ns-debug) 模块后可以使用 `debug_trace*` 系列接口获取合约内部的原生代币转账,例如获取指定交易hash的内部转账: ``` {"method": "debug_traceTransaction", "params": [txHash, {"tracer": "callTracer"}]} ```

回答于 2小时前

0 赞同

如何通过解析eth交易数据分析每个账户的余额?

不太可行。这样做无法检测到合约内部的转账。我认为你可以调用 geth 的 `debug_traceBlockByNumber ` 方法检测区块内的所有内部转账,但是 debug 模块公共节点一般都没有开启,再根据里面的from和to以及value来计算账户的余额。

回答于 1天前

0 赞同

我在使用sendSignedTransaction授权转账的时候, 执行成功, 但是...

`nonce` 的值必须自增,你应该把代码修改为 `nonce: web3.utils.toHex(txCount)`。

回答于 2天前

0 赞同

前端JS调用智能合约报错,好像是跨域错误

试试节点开启跨域访问 ``` geth --http --http.api "net,web3,eth,debug,txpool" --http.corsdomain "*" --http.vhosts "*" ... ```

回答于 5天前

0 赞同

web3的sign_message生成的签名和dapp的消息签名不一样

我猜测你应该使用 `personal_sign` 进行签名,它在消息中添加了一个前缀,可以防止恶意 DApp 签署任意数据(例如交易)并使用签名来冒充用户。 当然你也可以继续使用 `sign_message` 进行签名,但是消息必须按照指定格式: `sign_message(keccack256("\x19Ethereum Signed Message:\n" + len(message) + message)))`

回答于 2022-05-20 09:36

0 赞同

geth连接rinkeby,注册新账户,但是在rinkeby浏览器上找不到账户...

当然可以,只有发生过交易的地址才能被区块浏览器索引。

回答于 2022-05-17 21:41

0 赞同

用web3.py在跟合约交互生成交易之后,马上通过getTransactionRec...

1. 可以用你现在的方式写一个循环不断查询,不要调用 `time.sleep`。 2. 可以使用ws api 的 `eth_subscribe` 接口订阅 `newHeads`,当有新区块产生的时候会实时推送给你,然后再调用一次 `getTransactionReceipt` 查询,参考 [https://ethereum.stackexchange.com/questions/103925/subscribing-to-new-block-headers-usin...

回答于 2022-05-16 09:25

0 赞同

TRX转账的时候是否可以提前预知哈希值

可以 ```ts const tx= await tronWeb.transactionBuilder.sendTrx(to, amount, from) const txID = tx.txID as string ```

回答于 2022-05-09 16:21

1 赞同

不知道为什么一直在pengding状态

导致一直pending状态一般有两个原因,你自己排查一下:1. 填写的nonce不是有序的 2. gasPrice设置得过低

回答于 2022-05-01 21:51

0 赞同

如何获取某个钱包地址下在以太坊的所有NFT??????

[https://docs.unmarshal.io/openapi/core/tag/NFTs/#tag/NFTs/operation/nft-assets-by-address](https://docs.unmarshal.io/openapi/core/tag/NFTs/#tag/NFTs/operation/nft-assets-by-address)

回答于 2022-04-15 14:09