mirror of
https://github.com/luxfi/node.git
synced 2026-10-30 15:24:05 +00:00
The module already called itself github.com/luxfi/node while containing no node in Go: cmd/luxd was twenty-one lines that printed the size of a few types, and the Go column of the matrix measured a VM plugin. A repo that fetches the thing it claims to be has not replaced it, so the Go sources move in — 1515 files, the daemon and everything under it — and the build reaches outside this module for nothing. Rust and C++ sit beside it unchanged and are still measured against it by the differential. That is the point of one repo: the reference implementation and the two ports are the same checkout, so parity is a thing you can run rather than a thing you assert. Verified: builds, and the closure carries no lux-private — checked at build time rather than believed. The daemon starts twelve chains on a local network (P X C Q Z A B G K M F, plus D through its plugin) and reports healthy.
Payload
An Lux Unsigned Warp Message already includes a networkID, sourceChainID, and payload field. The payload field can be parsed into one of the types included in this package to be further handled by the VM.
Hash
Hash:
+-----------------+----------+-----------+
| codecID : uint16 | 2 bytes |
+-----------------+----------+-----------+
| typeID : uint32 | 4 bytes |
+-----------------+----------+-----------+
| hash : [32]byte | 32 bytes |
+-----------------+----------+-----------+
| 38 bytes |
+-----------+
codecIDis the codec version used to serialize the payload and is hardcoded to0x0000typeIDis the payload type identifier and is0x00000000forHashhashis a hash from thesourceChainID. The format of the expected preimage is chain specific. Some examples for valid hash values are:- root of a merkle tree
- accepted block hash on the source chain
- accepted transaction hash on the source chain
AddressedCall
AddressedCall:
+---------------------+--------+----------------------------------+
| codecID : uint16 | 2 bytes |
+---------------------+--------+----------------------------------+
| typeID : uint32 | 4 bytes |
+---------------------+--------+----------------------------------+
| sourceAddress : []byte | 4 + len(address) |
+---------------------+--------+----------------------------------+
| payload : []byte | 4 + len(payload) |
+---------------------+--------+----------------------------------+
| 14 + len(payload) + len(address) |
+----------------------------------+
codecIDis the codec version used to serialize the payload and is hardcoded to0x0000typeIDis the payload type identifier and is0x00000001forAddressedCallsourceAddressis the address that sent this message from the source chainpayloadis an arbitrary byte array payload