8月24日にChia 1.5.1 がリリースされました。1.5.0はウォレット周りのバグが気になったので結局インストールしませんでした。バグ修正版として、安定期待で待っていた1.5.1なのですが、今回も多くの変更点あるようです。大幅な性能向上あるのでどこかで入れたいところですが、様子見しつつ時期を探ります。
1.5.1
Chia 参照クライアントのバージョン 1.5.1 がダウンロードできるようになりました。このリリースには、いくつかの内部改善と楽しい新機能が含まれています。
パフォーマンスの最適化:
- 完全に同期されたローカルの信頼できるノードに接続している場合、またはウォレットのみのモードで同期している場合のウォレット同期のパフォーマンスが向上し、ウォレットを多くのコインやトランザクションと同期する際の速度と精度が大幅に向上します。ウォレット ユーザーは、1.5.1 ノードに接続されている場合にのみ完全なメリットを享受できます。
- フル ノード同期パフォーマンスの向上により、フル ノード同期時間が短縮され、ノードとファームを効率的に実行するために必要なシステム リソースが削減されます
- ウォレット サービスが開始されるとすぐに、最後に使用されたウォレット キーのウォレット同期が開始されます
NFT 関連の更新:
- GUI での NFT for CAT 取引のサポート – グラフィカル ユーザー インターフェイスで NFT の取引 CAT を作成または取得
- NFT の表示/非表示 – ウォレット内の NFT を非表示にすると、送信された NFT スパムを見る必要がなくなります。または、すべてを公開せずにコレクションを自慢したい場合にも使用できます。
- NFT を書き込みアドレスに送信 – 不要な NFT を使用できないアドレスに送信します
- NFT を扱う際にウォレットの再編成を適切に処理する
その他のウォレットの更新
- ウォレットのステータス インジケータをクリックすると、接続しているピアが表示されます
- GUI 設定がメインネット ディレクトリに保存されるようになり、見つけやすくなりました。GUI セッションごとに異なる設定を維持したい場合
レガシー キーリング サポートの廃止
keyring.yaml
このバージョンを開始するすべてのユーザーは、レガシー キーリング サポートを完全に廃止する将来のリリースに備えて、新しいキーリング サポートに移行する必要があります。- 新しいキーリングのサポートは 1.3 で導入されました。ほとんどのユーザーは、新しいキーを生成するとき、または既存のキーをインポートするときに移行を経験しています。
追加した
- ソースと変更ログを project_urls に追加 (ありがとう@strayer!)
- 常に真の Chialisp 条件である REMARK の条件コード定数を追加します。
- いくつかのウォレットの最適化を追加
- 追加
chia db backup --backup_file <backup_file_destination>
(ありがとう@neurosis69!) - ウォレット データベースのすべての SQL コマンドをログに記録するデバッグ オプションを追加します (ありがとうございます@neurosis69!)
get_wallet_balance
およびget_wallets
エンドポイントの追加データ- 後の呼び出しがそれを期待するため、に追加
change_data
します_state_changed
- 追加
Program.replace
new_transaction()
に追加DBWrapper2
- 現在の派生パス インデックスを取得/拡張するための RPC を追加します
- UI RPM にシンボリック リンクを追加して、.deb UI と CLI インストーラーをミラーリングします。
create_signed_transaction
ウォレット RPCでコインを除外するためのサポートを追加(ありがとう@felixbrucker!)- 小さなコインの選択の改善を追加
- 一括キャンセル API を追加
- 導入
streamable.Field
Streamable.__post_init__
処理キャッシュの導入- さまざまな RPC 呼び出しに最小コイン量を追加
- 呼び出される新しい full_node RPC が追加されました
get_block_spends
– トランザクション ジェネレーターを使用してブロックの支出を取得します - 最後に使用したウォレット キーの記憶のサポート
- CLVM ROM でのデシリアライゼーションの長さ制限 (8191 バイト) を文書化。必要に応じて、chialisp コードのローカル バージョンを使用することをお勧めします。
かわった
- 信頼できるウォレットの同期が大幅に高速化
- 1000 tx を同期する前の時間: 90 秒
- 新しい時間: 2 秒
- キーリングの移行を強制する / レガシー キーリングのサポートを廃止する
- シリーズの名前変更 -> エディション (完全な非推奨) (ありがとう@DrakoPensulo!)
- キャッシュにさまざまな追加を行い、検証に変更を加えて、CPU 使用率を大幅に削減しました。
run_as_generator()
エラーがスローされたときに完全なエラーをログに記録しますplot_paths
バッチに分割する前にソートするplot_sync_callback
次の場合delta
はスキップNone
- でパスを検証します
add_plot_directory
- からのキャッシュ変換関数
dataclass_from_dict
- に感謝します@neurosis69以下について:
- SQL ステートメントごとにより大きなバインド変数のチャンクを許可する
_set_spent function
for のチャンクとして SQL 更新を実行します。tx_removals
- すべての列ではなく特定の列を使用するように、さまざまなテーブルで列の選択を最適化
- ブロックチェーン DB フルノード起動の進行状況を debug.log に書き込む
- クリーンアップとリファクタリング
chia show
コマンド height-to-hash
マップ エントリの設定時にダーティ カウンタをインクリメントするplotting.cache.DiskCache
->util.misc.VersionedBlob
- 向上
chia farm summary
- 最適化
std_hash
するcoin.py
- 多くのテストを改善
big_ints
リストを削除- UX の改善
plotnft claim
chia-rs
ストリーミング可能なサポートにアップグレード- 同期中にキーの切り替えを許可する
get_hash
二重変換しないことによる最適化- 同じオブジェクトを再ハッシュしない
- 冗長な
PlotPathRequestData
変換を削除する - ストリーミング
PlotsRefreshParameter
可能にする + 使用するfrom_json_dict
- ストリーミング
Plot{Info|Path}RequestData
可能にする + 使用するfrom_json_dict
- リクエストの追加を最適化する
- ウォッチドッグ オブザーバーを停止して参加する
- chia.util.path.mkdir() を削除
- constants_json フィールドを削除します
ConsensusConstants
JSON との間で変換しない- 一部のクラス メソッドを
Streamable
- リクエスト ヘッダー ブロックと新しいレート制限
- の Python 実装を
Coin
の Rust ネイティブCoin
に置き換えました。chia_rs
- 不正なファイル記述子を回避するための Watchdog==2.1.9
*args
状態が変更さRpcServer
れたメソッドについて具体的に説明する- 失敗時に WalletUserStore.create_wallet() を発生させ、オプションではないものを返すようにします
- v2.2.0 の公式 dnspython に戻す
- オプションではありません –
WalletNode.wallet_state_manager
,.server
,.keychain_proxy
uint64()
NFT コイン量の詳細WalletNode._new_peak_queue
エラーを回避するためにインスタンス化を遅らせる- 未使用の削除
WalletCoinStore.get_unspent_coins_at_height
NFTInfo.royalty_puzzle_hash
あるOptional
がNone
ここではない- ハンドル
KeychainProxyConnectionFailure
インFarmer.setup_keys
WalletCoinStore
クラスを簡素化しました- ウォレットトランザクションストアのキャッシュを削除
bytes32
二重変換を削除dataclass_from_dict
に変身streamable_from_dict
- サービス
running_new_process=
パラメータを.setup_process_global_state()
メソッドで置き換える - 次の順序でノードを優先するようにウォレット ピアの選択を変更しました
- 信頼と同期
- 信頼できない & 同期済み
- 信頼されていて同期されていない
- 信頼されていない & 同期されていない
- 簡素化されたプール キャッシュ
- 未使用の finished_sync_up_to を削除します (ありがとう@olivernyc!)
- 展開
Field
して紹介Streamable._streamable_fields
logging.basicConfig()
からの削除ChiaServer.__init__()
- DIDウォレットにコイン選択アルゴリズムを使用
- サービス開始構成のロードを簡素化する
- ウォレット ネットワーク メッセージの優先度がノード ネットワーク メッセージよりも高くなりました
- ウォレットは新しいトランザクションをキューに追加する前に mempool をチェックするようになりました
- ネストされたトランザクションをサポートする DB アクセス用の新しいコンテキスト マネージャー (DBWrapper2) を実装し、同時実行のサポートを改善し、例外処理を簡素化しました。
clvm-tools-rs
にアップグレード0.1.19
clvm_tools
にアップグレード0.4.5
- ウォレット トランザクション ストアの簡素化
_clear_database()
使用していない関数を削除する- を使用して最適化されたウォレット DB クエリ
execute_fetchall
- ウォレットの最適化
set_spent()
- 最低コイン量のサポートを追加し、
select_coin
RPCでコインを除外 - ログイン
chia_full_version_str
デーモンとすべてのサービス - キーの取得に失敗した場合、ログに記録して例外を返す
- 2022 年 7 月 19 日の更新証明書ストア
- パズルハッシュの生成を最適化 (~65% 高速化)
- キーリング パスフレーズ機能を無効にする機能を非推奨にしました
- 派生記録の軽微な簡素化
- プロトコル メッセージ チェックの更新
initial_num_public_keys
デフォルトを 425 に変更- ブロックストアのマイナーな最適化
- get_coins_to_check() の最適化
- コインの種類を決定する際のウォレットのマイナーな最適化
- NFT uncurry試行でパズルプログラムの冗長印刷を避ける
- Chia パッケージの全体サイズを大幅に縮小
- 開始時にプロット更新パラメーターをログに記録する
- 起動時にスキーマ バージョンとともに使用されるブロックチェーン データベース ファイルをログに記録する
- SubEpochData の冗長なリクエストを削除しました
修理済み
- 失敗したサービス開始のログ エラー
- ログインの改善
plot_sync.{receiver|delta}
dataclass_from_dict
ストリーミング用のデフォルト値の割り当てを修正change_payout_instructions
無効なアドレスの修正- 構成ファイルのみが削除されたときの SQL エラーを修正
- ウォレットが同期されていないローカル ノードからの拒否を適切に処理しない問題を修正
- DID を使用した転送 NFT の修正
- 誤解を招く引数名を修正 (ありがとう@olivernyc!)
- ナップサックコインの選択を修正
- 200k コインの古いパフォーマンス: 60 秒
- 新機能: 0.78 秒。
- initial-config.yaml の trusted_peer の例を (Thanks@ojura!)
- 既存のシミュレータ構成を置き換え、シミュレータを修正
- 属性エラーを修正
FullNode.simulator_transaction_callback
- パスフレーズのヒントを修正
- バグ修正のために clvm_tools_rs をバンプ
- NFT > CAT ロイヤリティ分割バグを修正
- 修理済み
mint_nft
- 接続が失われたときに KeychainProxy が自動的に再接続するようにすることで、キーが読み込まれていないというエラーを修正します。
- NFT テーブル変更の移行バグを修正
- NFT ウォレットの再編成の修正
- NFTウォレットの命名問題を修正
- そもそも
info
どっちに影をつけられないNFTInfo
- サービスのインスタンス化前にログを初期化する
- 引数が指定されていない場合に chia コマンドがヘルプを出力することを確認してください ( #11013 ) (Thanks@noneus!)
- 分岐点計算のバグを修正し、重量証明の検証回数を減らしました
- クローラーの起動時のバグを修正 (サービス名を に設定
full_node
) - NFT転送/鋳造コマンドは、指定されたアドレスを検証するようになりました
- RPC および CLI での CAT1 オファーのブロック サマリー