UTXO based Protocol, Safety & Simple base on original SLP.
SLP++ operate on non-standard UTXOs,which can include any state of your services.
Layer II's services are identified by transaction output: service id = sha256(32 bytes txid + 1 byte integer of n), which convert service from transaction scope to script scope. so we can write any complex scripts to implement our services.
Transaction inputs: Any number of inputs or content of inputs, in any order.
Transaction outputs:
vout | OutputScript | Coin amount |
... |
Lockingscript1: 'OP_DUP OP_HASH160 986b57ea26555d28c OP_EQUALVERIFY OP_CHECKSIG' (0 to ∞ bytes) OP_RETURN: '\x6a' (1 byte, ascii) <len: > (length of metadata) len < 0x4c : (1 byte integer) len <= 0xff : ('4c' + 1 byte integer) len <= 0xffff : ('4d' + 2 bytes integer) len <= 0xffffffff : ('4e' + 4 bytes integer) metadata2: <protocol: 'SLP++\x00'> (6 bytes, ascii) <protocol_id3:\x0000 > (2 bytes integer) <protocol_version:\x00 > (1 byte integer) <data_hash: > (32 bytes, sha256(data)) <key: > (0 to ∞ bytes) |
>0 |
... | Any | >any |
... |
OP_FALSE : '\x00' (1 byte, ascii) OP_RETURN: '\x6a' (1 byte, ascii) <len: > (length of data) len < 0x4c : (1 byte integer) len <= 0xff : ('4c' + 1 byte integer) len <= 0xffff : ('4d' + 2 bytes integer) len <= 0xffffffff : ('4e' + 4 bytes integer) data4: <data: > (0 to ∞ bytes) |
0 |
1. The Lockingscript can be any valid script by combination op_codes(more spec), which controls who can spend the utxo.
2. The OP_RETURN should be metadata for specific services.
3. see more protocol.
4. The OP_FALSE OP_RETURN vout should be common data for specific services.
The complete Protocol see more
coming soon
1. UTXO(includes non-standard) management tools.
2. write complex script for non-standard transaction outputscript.