您正在查看: Ethereum 分类下的文章

Trust EVM 让EOS支持以太坊合约

先记录下,做个笔记,翻译来自谷歌,有能力看原文。。
https://docs.trust.one/

Trust 是基于 EOS 网络的以太坊虚拟机,为开发者提供了一个交钥匙解决方案,可以在完全兼容以太坊的链上运行他们的应用程序,同时享受 EOS 的高吞吐量、可扩展性、安全性和可靠性,以及低交易成本 他们的用户。

由于设计的高度兼容性,以太坊原生应用程序可以无缝移植到 Trust。 开发人员在这里使用他们的 Solidity 智能合约时可能会喜欢熟悉的以太坊工具。

特点:

  • 确定性的Gas计算
  • 指令集级别的EVM兼容性
  • 完全的RPC兼容

技术实现

https://docs.trust.one/understanding-trust/architecture
EVM 作为 EOS 网络中的智能合约实现。 在 EVM 网络中生成交易是通过调用 EOS 网络上的 EVM 合约来完成的,EVM 的状态可以从 EOS 上的信息中得出。
为了实现完全 RPC 兼容性的目标,我们利用功能齐全的以太坊节点(当前设计中的 Geth)来提供所有读取 API,而所有写入访问将被转发到一个小型服务,以将它们打包到对 EVM 合约的 EOS 调用中。

我们所做的是设置一个“翻译器”服务,该服务读取运行在 EOS 上的 EVM 智能合约的共识输出,将该信息翻译成相应的 ETH 格式块并将这些块提供给 Geth 节点。 然后我们可以公开以太坊客户端 Web3 JSON RPC API(如有必要,还可以公开其他 API)。
如果我们发现它们更适合这种情况,我们也可能会在不同的场景中使用以太坊节点的其他实现。

未来的改进

当前设计正在运行并提供预期的兼容性级别。 还有一些潜在的方法可以改进整个系统:
合并 Translator 服务和 Geth 节点,去除相对不可靠的 p2p eth/66 通道。
将所有内容合并到一个 EOSIO 插件中,以便于部署。

MetaMask测试

https://docs.trust.one/about-the-testnet/connect-metamask

Network Name: Trust Network Testnet Preview
Chain ID: 15555
New RPC URL*: https://api.testnet-dev.trust.one
Currency Symbol: EVM
Block Explorer URL (Optional): https://trustscan.one

Faucet

https://faucet.testnet-dev.trust.one/

https://www.odaily.news/post/5178155
https://www.odaily.news/post/5178155

基于 EVM 的区块链索引器,具有历史数据查询和实时通知支持

https://itzmeanjan.in/ette/

  • 同步到区块链的最新状态
  • 监听基于 EVM 的区块链上的所有事件
  • 在本地数据库中保存所有发生的事情
  • 公开 REST & GraphQL API 用于查询

以太坊虚荣地址生成

什么是虚荣地址?
虚荣地址是您自己选择的地址,使其看起来不那么随机。
示例:0xc0ffee254729296a45a3885639AC7E10F9d54979或0x999999cf1046e68e36E1aA2E0E07105eDDD1f08E

https://vanity-eth.tk/

如何让链交易完全审查可控「草稿」

不谈去中心化,完全业务层强制需要
只考虑怎么能实现,并且改动小

txpool 考虑单独拆出来,风控RPC只运行核心功能?
https://github.com/ledgerwatch/erigon-lib/tree/main/txpool
代码入口:https://github.com/ledgerwatch/erigon/blob/4155ec101c110d122a303f05ca98c3010243d021/cmd/txpool/main.go
这个项目有单独模块做子进程,还没细看。。

eth离线剪枝prune-state报错

错误信息如下

ERROR[12-10|01:50:45.225] Failed to prune state err="no snapshot paired state"

解决方案

  1. 优雅地停止节点
  2. 用快照模式重新同步一段时间
  3. 再次优雅地停止节点
  4. 开始修剪
geth --datadir ./data  snapshot prune-state

附加
bsc的prune-block 后续有时间跟一下,可能后面会用到。。

参考
https://github.com/bnb-chain/bsc/issues/256