geth 1.9.0 发布说明

以太坊节点程序geth的1.9.0版本已经发布。
我对原始博客进行了简要概括。请让我尽量不会有错误,但是请勿全盘接受我的内容。

由于进行了数据库迁移,一旦更新就无法恢复。请注意需要重新同步。

表现:

由于数据库逻辑的变更,区块链数据的同步速度变得更快了,不论是快速同步、完整同步还是归档同步。

冷冻器:

通过将数据库分为LevelDB和FreezerDB,在FreezerDB中保存不经常使用的数据,以降低战斗能力。由于可以通过配置文件等进行目录设置,如果能巧妙地利用HDD和SSD的差异,将有助于降低成本。

GraphQL: 图形查询语言

我不仅支持JSON-RPC,也支持GraphQL。

硬件钱包:

我们扩大了硬件钱包的兼容性。现在支持Ledger、Trezor和Status keycards。

Clef (音符):

我们将账户功能从Geth中分离出来并命名为Clef,并进行了标准化。我们创建了API,可以通过JSON-RPC进行通信。我们还保留了以前的使用方式,所以请放心。

超轻客户端

我们在智能手机等终端设备上增加了超轻量客户端模式。详细的说明请查看https://hackmd.io/@GMFZzCl1SH6s2lX25nC15A/HJy7jjZpm?type=view。

检查点预测:

轻量客户端在验证区块链时使用检查点进行检验。以前这个检查点是硬编码在geth中的,但现在可以从智能合约内获取。这样就不需要在程序中硬编码了,非常开心。特别是对于私有网络,受益将会很大。

监控

监视现在包括文本用户界面和RCP报告,已经进行了改进。现在可以使用ExpVars、InfluxDB和Prometheus来进行度量。可视化方面支持Datadog和Grafana。

木偶探险家:

Etherscan和Etherchain现在已经是闭源的,但终于到了发布开源区块浏览器的时候了。通过将Blockscout与Puppeth进行初步整合,我们填补了部署私有网络工具的巨大空缺。

发现协议

我正在寻找在寻找对等节点等情况下使用的协议中是否存在更好的选择。特别是在私人网络等节点较少的情况下可能会出现问题。

以太坊节点记录:

在ENS中添加了与IPv6地址的对应和搜索Rinkeby节点的功能。

启动节点

我已经更新了最初连接的节点列表。

其他变化

    • RPC APIs: ​​EIP 695で定義されているeth_chainId RPCメソッドをサポート

 

    • Networking: デフォルトピア数が25から50になりました。P2Pネットワーキングの問題をデバッグするために、新しいCLIツール(cmd / devp2p)がソースツリーに追加されました。このツールはalltoolsアーカイブにはまだ配布されていませんが、ピア検出で問題を確認することは既に非常に便利です。P2Pサーバーは、頻繁に接続しようとするIPからの接続を拒否します。

 

    Miscellaneous: abigenツールの改良には多くの作業が費やされました。 GoバインディングはSolidity構造体と関数ポインタ引数をサポートします。 Javaジェネレータも同様に改良されています。モバイルフレームワークはデプロイトランザクションを作成できます。go-ethereumレポの重要部分はCGOなしで構築されています。この作業にJeremy Schlatterに感謝します。

兼容性。

以下是与版本1.9.0不兼容或被删除的内容摘要。直接粘贴Google翻译的内容如下:

    • セキュリティ上の理由から、オープンHTTP、WebSocket、またはGraphQLポートを使用したアカウントのロック解除は許可されていません。パワーユーザーは自分の責任で–allow-insecure-unlock CLIフラグを使用して古い動作を復元できます。

 

    • 古いUbuntu dockerイメージと古い(モノリシック)Alpine dockerイメージは、1年以上前に廃止予定として削除されました。 2016年にクラスターを構成したのでなければ、おそらくAlpineのスリムなイメージを使用した方が安全なはずです。

 

    • オリジナルのgeth monitor CLIコマンドは、それをサポートするdebug_metrics RPC APIエンドポイントとともに削除されました。モニタリングに頼る人は、DatadogまたはGrafanaと共にExpVar、InfuxDB、またはPrometheusメトリクスレポートを使用する必要があります。

 

    • geth bug CLIコマンドが削除されました。これは不必要な面倒さです。バグに遭遇した場合は、GitHubトラッカーで問題を開き、手動でテンプレートに記入することができます。

 

    • les / 1とeth / 62のプロトコルが削除されました。 les / 1はGethによってのみサポートされ、Constantinopleの全員がすでにles / 2を実行しています。 eth / 62はFrontierより前でも非推奨ですが、cpp-ethereumのために残されました。

 

    • 2019年4月上旬にGoogleがソーシャルネットワークを公開して以来、Google+認証はPuppethの蛇口から削除されました。

 

    • 元帳HDウォレット導出パスは、元のレガシーパスから正規のエコシステムへと更新されました。古いパスからのアカウントは引き続き検出されます。

 

    • デフォルトのキャッシュ許容量は、ネットワークと同期モードに基づいて動的に選択されます。メインネットのフルノードのデフォルトは4GB、テストネットとプライベートネットワークのデフォルトは1GBです。 Lightクライアントのデフォルトは128MBです。明示的な–cacheはもちろん光栄です。

 

    • Whisper v6のPoW計算は、仕様に完全には準拠していないため、Parityと互換性がありませんでした。これは修正されましたが、それはまたGeth v1.9.0に同梱されているWhisped v6が以前のバージョンと互換性がないことを意味します。

 

    • lightservと – lightpeersフラグは–light.serveと – light.maxpeersにそれぞれ改名されました。古いバージョンは非推奨ですが、来年かそこらのために動作し続けます。

 

    • Windowsのデフォルトのdatadirは、LocalAppData環境変数から派生しました。 $ HOME / AppData / Roaming内の古い場所はまだ認識されています。場所の変更はCygwinやリモートユーザーアカウントを使った設定でよりうまく機能します。

 

    JSON-RPCサーバーは書き直され、現在は双方向通信をサポートしています。 rpc.Client.RegisterNameメソッドを使用して、クライアント側でメソッドハンドラを公開できます。これを徹底的にテストしましたが、新しいサーバーとの互換性の問題があるかもしれません。見つかったRPCの問題を報告してください。

最后

大家谢谢你们。

广告
将在 10 秒后关闭
bannerAds