Skip to content

Commit 45c88b8

Browse files
authored
Add adnl codec for TON network addresses (#402)
Add multicodec namespace entry for TON ADNL addresses in the 0xbX9910 range following the existing namespace convention (alongside skynet, arweave, subspace, kumandra, massa). What is ADNL? ADNL (Abstract Datagram Network Layer) is TON's peer-to-peer networking protocol. An ADNL address is a 32-byte identifier computed as `SHA-256(TL_constructor_id || pubkey)`, where the TL constructor id for `pub.ed25519` is `0x4813b4c6` serialized little-endian (wire bytes `c6 b4 13 48`), followed by the 32-byte Ed25519 public key. Reference: `ton-blockchain/ton` — `keys/keys.cpp::compute_short_id()`. https://docs.ton.org/develop/network/adnl-udp Codec added: │ 0xb69910 │ adnl │ TON ADNL address: 32-byte SHA-256(0x4813b4c6_LE || Ed25519-pubkey) Motivation This codec enables ENSIP-7 contenthash encoding for TON sites, allowing `.eth` domains to resolve to TON resources through standard content-addressed URIs. Reference implementation: https://github.com/TONresistor/Tonutils-Proxy/blob/contenthash/resolver/contenthash.go Live example: tonnet.eth contenthash set on Ethereum mainnet
1 parent 8984dc3 commit 45c88b8

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

table.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,7 @@ massa-gossip, namespace, 0xb59914, draft, Mass
617617
massa-mns, namespace, 0xb59915, draft, Massa Name Service target
618618
massa-sc, namespace, 0xb59916, draft, Massa smart-contract address target
619619
massa-gossip-id, namespace, 0xb59917, draft, Massa Gossip ID target
620+
adnl, namespace, 0xb69910, draft, TON ADNL address: 32-byte SHA-256(0x4813b4c6_LE || Ed25519-pubkey)
620621
es256, varsig, 0xd01200, draft, ES256 Signature Algorithm
621622
es384, varsig, 0xd01201, draft, ES384 Signature Algorithm
622623
es512, varsig, 0xd01202, draft, ES512 Signature Algorithm

0 commit comments

Comments
 (0)