BlockchainCommons / BlockchainCommons/seedtool-cli-rust

Seedtool Needs to Deal with Unknown Data

未关闭
#9 1 条评论 0 个 reaction 已指派 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
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。