etch

Проверка и обслуживание хранилища Etch — контентно-адресуемой базы данных Convex. Используйте при изучении пирингового хранилища, диагностике повреждений, сборке мусора или…

npx skills add https://github.com/convex-dev/convex --skill etch

Etch Store Operations

Etch is Convex's content-addressed store: values are keyed by hash, and a single root hash reaches everything retained. Peers keep their state here.

Every subcommand takes the store file with -e / --etch:

java -jar convex.jar etch info -e /path/to/store.etch

Inspecting

CommandPurpose
etch infoSummary of the database — start here
etch validateCheck store integrity; -m/--max-failures N to bound reporting
etch dumpExport contents, CSV by default (value ID, type, memory size, encoding)
etch read <hash>...Read specific values by hash; --limit N to cap output

info, dump and read take -o / --output-file to write to a file rather than the terminal — use it for dump on any real store, which is large.

Start a diagnosis with info, then validate. If validation reports failures, capture the output before doing anything that mutates the store.

Maintenance

These modify or destroy data. Confirm with the user, and make sure the peer using the store is stopped first — operating on a live store risks corruption.

CommandEffect
etch gcGarbage collect: retains the root and everything reachable, discards the rest. In-place by default; -o/--output <file> collects into a fresh file instead
etch clearClears the root data. Does not collect garbage
etch migrate --into <dest>Copy everything into another store; --set-root to set the destination root
etch repair --into <dest>Reconstruct a fresh store from independently validated cells; source unchanged
etch recoverAdopt a completed GC cutover and roll forward — for a store interrupted mid-GC
etch write -c/--cvx <source>Write a CVM value into the store

To compact safely, prefer gc -o <new-file>: it collects into a fresh file and leaves the source unmodified (note: status levels above PERSISTED, e.g. ANNOUNCED, survive an in-place GC but not --output). Use migrate to copy into another (possibly non-empty) store, or to change the store's format version or encryption — see below.

repair is the offline salvage path for a dirty or damaged source. It holds an exclusive source lock, scans through physical EOF, and writes only canonical CAD3 values whose stored content hashes verify. A complete result requires both a fully persisted selected root and an exhaustive scan. If either condition fails, the command reports failure but may leave a valid partial destination; never replace the source with that output automatically.

Recovering an interrupted GC is what recover is for — reach for it before concluding a store is lost.

Encrypted Stores (Etch v3)

Etch format v3 supports encrypted stores — format spec in convex-core/docs/ETCHv3.md.

Opening an encrypted store: any etch subcommand takes --etch-key <alias> (keystore key alias or public-key prefix, password via --etch-keypass) or --etch-key-file <file> (raw or hex 32-byte master key; - reads stdin). With neither, the v3 header's public-key hint selects a keystore key automatically, or an interactive session prompts for a hex key.

Converting a store: etch migrate (and gc -o) accept destination options — --into-version (1, 2 or 3), --into-cipher (none, aes-256-ctr or chacha20), --into-key / --into-key-file / --into-keypass for the destination key, --into-encrypt-index (negatable) and --into-public-key-hint. Encryption options require version 3; without a destination key the resolved source key is reused.

Больше skills от convex-dev

account
convex-dev
Создание или проверка аккаунтов Convex. Используйте, когда пользователь хочет настроить новый аккаунт, проверить детали аккаунта или управлять ключами.
account
convex-dev
Создание или просмотр аккаунтов Convex. Используйте, когда пользователь хочет создать новый аккаунт, проверить детали аккаунта или управлять ключами.
token
convex-dev
Создание и управление взаимозаменяемыми токенами на Convex. Используйте, когда пользователь хочет создать новый токен, проверить балансы токенов или управлять эмиссией токенов.
build-convex
convex-dev
Собрать проект Convex из исходного кода. Используйте, когда участник хочет скомпилировать, протестировать или упаковать Convex.
convex-db
convex-dev
Используйте Convex DB — SQL-базу данных на основе решётки. Используйте, когда помогаете пользователям писать запросы, подключаться через JDBC или PostgreSQL-клиенты, создавать таблицы, вставлять/запрашивать данные,…
convex-lisp
convex-dev
Справочник по языку Convex Lisp — соглашения CVM, вызов библиотечного кода, определения акторов, коды juice и ошибок. Используйте при написании или отладке исходного кода CVM для…
deploy
convex-dev
Разверните актор (смарт-контракт) в сети Convex. Используйте, когда пользователь хочет создать новый ончейн-актор с экспортируемыми функциями.
ecosystem
convex-dev
Ориентация в экосистеме Convex — что находится в каком репозитории, где находятся спецификации и документация, и какие клиентские библиотеки существуют. Используйте, когда нужен контекст…