BlockchainCommons / BlockchainCommons/seedtool-cli-rust

Seedtool Needs to Deal with Unknown Data

オープン
#9 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Rust
スター
11
フォーク
0
PR マージ指標
30日以内にマージされた PR はありません

説明

Seedtool needs to have a methodology for dealing with unknown data in Envelopes of seeds it imports.

For example:
```
% envelope format ur:envelope/lrtpcsgdhkwzdtfthptokigtvwnnjsqzcxknsktdoyadcsspoycfadzttpcstantjyoeadisktjojeisdefzdydtaolytantjloxaxhdclaxvlcprfttldjobkredtlnhsidwybaeyjtswyandlgjnehtkdsidbkqzsrkphyfhsaaahdcxhnfgnepefxgdytryckticelyotsstoknfntavevaskiddmolsarntykbrybtjpksamtantjooeadlncsghykaeykaeykaocyhngrmuwzaycyzssajpsnoybdtpcskpfyhsjpjecxgdkpjpjojzihcxgdihiajecxhfinhsjztkwewyfn
Bytes(16) [
'isA': 'Seed'
'508': output-descriptor(Map)
'hasName': "Dark Purple Peck Vial"
]
```
Currently if you import this into Seedtool and reexport it, the output-descriptor is silently dropped.
```
% seedtool -i envelope ur:envelope/lrtpcsgdhkwzdtfthptokigtvwnnjsqzcxknsktdoyadcsspoycfadzttpcstantjyoeadisktjojeisdefzdydtaolytantjloxaxhdclaxvlcprfttldjobkredtlnhsidwybaeyjtswyandlgjnehtkdsidbkqzsrkphyfhsaaahdcxhnfgnepefxgdytryckticelyotsstoknfntavevaskiddmolsarntykbrybtjpksamtantjooeadlncsghykaeykaeykaocyhngrmuwzaycyzssajpsnoybdtpcskpfyhsjpjecxgdkpjpjojzihcxgdihiajecxhfinhsjztkwewyfn -o envelope | envelope format
Bytes(16) [
'isA': 'Seed'
'hasName': "Dark Purple Peck Vial"
]
```
Options for dealing with this:

1. Silently drop it [current]
2. Drop it with a *WARNING*
3. Silently carry it over
4. Carry it over with a *WARNING*
5. Drop it, but offer an additional Envelope containing only the dropped data.

...

There are potentially three categories of data here, with the possibility to deal with them differently.

A. Known data types (like output-descriptor)
B. Unknown data types
C. Attachments

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

文書化されている seedtool の Envelope のインポート/エクスポートコマンドを再現し、インポートした出力を元の Envelope と比較します。Envelope 処理のエントリーポイントを追跡し、既知のデータ型、未知のデータ型、添付ファイルについて意図された動作を解決します。完了の条件は、合意されたポリシーと、output-descriptor のデータがサイレントに失われなくなる動作が定められていることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust
領域
cli
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。