39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
# nu-proto — CLAUDE.md
|
||
|
||
Tüm ekosistemin canonical tip ve RPC API tanımları. **Değişince diğer repolar kırılır.**
|
||
|
||
## Kritik Kural
|
||
|
||
`v0.1` tag'i atıldıktan sonra field silemezsin, field tipi değiştiremezsin. Yeni field eklemek non-breaking — sıra numarası bir kez atandıktan sonra değişmez.
|
||
|
||
```protobuf
|
||
// BREAKING: field silindi/tipi değişti — bunu yapma v0.1 sonrası
|
||
// Yeni field ekle, eski field'ı deprecated bırak
|
||
```
|
||
|
||
## Dosya Yapısı
|
||
|
||
```
|
||
types/
|
||
transaction.proto ← TxPayload enum; tüm sistemi kilitler
|
||
block.proto ← BlockHeader, Block, BlockReceipt
|
||
story_node.proto ← StoryNode, Story, NodeStatus
|
||
nft.proto ← Nft, Collection
|
||
rpc/
|
||
api.proto ← Platform ↔ Node JSON-RPC sözleşmesi
|
||
```
|
||
|
||
## Derleme
|
||
|
||
```bash
|
||
# Rust crate üret
|
||
protoc --rust_out=src/ types/*.proto rpc/*.proto
|
||
|
||
# TypeScript (platform için)
|
||
protoc --ts_out=../nu-platform/src/proto/ types/*.proto rpc/*.proto
|
||
```
|
||
|
||
## Versiyon
|
||
|
||
Şu an: **v0.1-dev** (henüz dondurulmadı)
|
||
v0.1 lock sonrası paralel geliştirme başlar.
|