blockc0de
blockc0de

注册于 2021-10-02

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

向TA求助
570学分数
497 贡献值
9个粉丝

最近动态

4天前 回答问题

启动节点时添加 --prune=hrtc flag。

  • h - prune history (ChangeSets, HistoryIndices - used by historical state access)
  • r - prune receipts (Receipts, Logs, LogTopicIndex, LogAddressIndex - used by eth_getLogs and similar RPC methods)
  • t - prune tra

2022-08-04 21:55 回答问题

我觉得几乎是不能的。如果两个合约使用同样版本的编译器并且用同样的optimize和optimize-runs参数进行编译,那么编译出来的字节码是一样的,这种特殊情况我们倒是可以判断哪些合约是使用了开源代码A。

2022-08-04 15:24 回答问题

调用合约的交易 input 字段必定不为空。我们可以先判断 to 地址是不是合约地址(可以用 eth_getcode 接口判断),如果是合约地址再看 input 字段是不是为空,如果不为空就是合约调用。

2022-08-01 19:56 回答问题

可以。交易hash在本地用私钥签名后就能够知道了,如果不是你想要的hash值不发送它就行了。

2022-07-28 22:43 回答问题

直接去调用合约的 namesymboldecimalstotalSupply 方法,如果中间没有报错都正常返回了那么就可以认为它是一个ERC20合约。

2022-07-26 13:30 回答问题

geth节点开启 debug 模块后可以使用 debug_trace* 系列接口获取内部转账,例如获取指定交易hash的内部转账:

{"method": "debug_traceTransaction", "params": [txHash, {"tracer": "callTracer"}]}

2022-07-25 14:48 回答问题

不太可行。这样做无法检测到合约内部的转账。

2022-07-23 21:44 回答问题

nonce 的值必须自增,nonce: web3.utils.toHex(txCount+=27) 是什么意思?

2022-07-20 17:58 回答问题

试试节点开启跨域访问

geth --http --http.api "net,web3,eth,debug,txpool" --http.corsdomain "*" --http.vhosts "*" ...

2022-05-20 09:36 回答问题

我猜测你应该使用 personal_sign 进行签名,它在消息中添加了一个前缀,可以防止恶意 DApp 签署任意数据(例如交易)并使用签名来冒充用户的滥用行为。

sign(keccack256("\x19Ethereum Signed Message:\n" + len(message) + message)))

2022-05-17 21:41 回答问题

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

2022-05-16 09:25 回答问题

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

2022-05-09 16:21 回答问题

可以

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

2022-05-01 21:51 回答问题

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

2022-04-15 14:09 回答问题

2022-04-12 22:06 回答问题

使用 cloudflare workers 做转发,免费还不要钱。

2022-02-25 20:56 回答问题

调用 function withdraw(uint256 value) 方法。

2022-02-15 11:05 回答问题

估计是通过 eth_getLogs 接口扫描合约Transfer 事件实现的,事件里面有地址和tokenId信息,然后保存到自己的数据库里面。


event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);

2022-01-25 15:24 回答问题

你是想在本地签名吧?参考此文章 Signing Raw Transactions

2022-01-25 13:02 回答问题

这个API默认没有开放,需要在启动geth节点的时候指定参数:

geth --http --http.api eth,net,web3,debug