3,785 bytes added
, 14:43, 12 December 2018
The Ravencoin network consists of nodes communicating on port 8767.
There are three networks:
Mainnet which uses a network identifier RAVN
Testnet which uses a network identifier RVNT
RegTest which uses a network identifier CROW
An additional command has been added to the network for asset support. This can be used by SPV nodes to get information about assets without interacting with a centralized API or a Remote Procedure Call.
getassetdata
The following is the specification for this new network call - available starting with network version 70018
Example 1: Request for asset name that doesn't exist
Request -> getassetdata
HEADER: 43524f5767657461737365746461746110000000571db430
DATA: 010e4241445f41535345545f4e414d45
Data Breakdown:
01 - Varint size of the vector
0e - Size of element = e.g. 14 Bytes
4241445f41535345545f4e414d45 - Name of asset = e.g. "BAD_ASSET_NAME"
--------------------------------------------------------------------
Response -> asstnotfound
HEADER: 43524f57617373746e6f74666f756e6410000000571db430
DATA: 010e4241445f41535345545f4e414d45
Data Breakdown:
01 - Varint size of the vector
Oe - Size of element = e.g. 14 Bytes
4241445f41535345545f4e414d45 - Name of asset = e.g. "BAD_ASSET_NAME"
Example 2: Request for asset name that does exist, and an asset that doesn't exist
Request -> getassetdata
HEADER: 43524f576765746173736574646174611d0000004a54c291
DATA: 020c41535345545f4a4552454d590e4241445f41535345545f4e414d45
Data Breakdown:
02 - Varint size of the vector
0c - Size of element = e.g. 12 Bytes
41535345545f4a4552454d59 - Name of asset = e.g. "ASSET_JEREMY"
0e - Size of element = e.g. 14 Bytes
4241445f41535345545f4e414d45 - Name of asset = e.g. "BAD_ASSET_NAME"
--------------------------------------------------------------------
Response -> assetdata
HEADER: 43524f576173736574646174610000001d000000200a58aa
DATA: 0c41535345545f4a4552454d5900e1f50500000000 00010000f5010000
Data Breakdown:
0c - Size of name = e.g. 12 Bytes
41535345545f4a4552454d59 - Name of asset = e.g. "ASSET_JEREMY"
00e1f50500000000 - Amount = e.g. 100000000
00 - Units = e.g. 0
01 - Reissuable = e.g. 1
00 - hasIPFS = e.g. 0
00 - Size of IPFS hash
f5010000 - Block height
Response -> asstnotfound
HEADER: 43524f57617373746e6f74666f756e6410000000571db430
DATA: 010e4241445f41535345545f4e414d45
Data Breakdown:
01 - Varint size of the vector
Oe - Size of element = e.g. 14 Bytes
4241445f41535345545f4e414d45 - Name of asset = e.g. "BAD_ASSET_NAME"
Examples 3: Request for asset name that contains an IPFS HASH
Request -> getassetdata
HEADER: 43524f5767657461737365746461746118000000e6218523
DATA: 011641535345545f4a4552454d595f574954485f49504653
Data Breakdown:
01 - Varint size of the vector
16 - Size of element = e.g. 22 Bytes
41535345545f4a4552454d59 - Name of asset = e.g. "ASSET_JEREMY_WITH_IPFS"
--------------------------------------------------------------------
Response -> assetdata
HEADER: 43524f5761737365746461746100000049000000cb345766
DATA: 1641535345545f4a4552454d595f574954485f4950465300e1f50500000000000101221220da203afd5eda1f45deeafb70ae9d5c15907cd32ec2cd747c641fc1e9ab55b8e8f6010000
Data Breakdown:
16 - Size of name = e.g. 22 Bytes
41535345545f4a4552454d595f574954485f49504653 - Name of asset = e.g. "ASSET_JEREMY_WITH_IPFS"
00e1f50500000000 - Amount = e.g. 100000000
00 - Units = e.g. 0
01 - Reissuable = e.g. 1
01 - hasIPFS = e.g. 0
22 - Size of IPFS hash - 34 Bytes
1220da203afd5eda1f45deeafb70ae9d5c15907cd32ec2cd747c641fc1e9ab55b8e8 - IPFS hash data
f6010000 - Block height