/slppp

SLP++ UTXO based Protocol

SLP++ UTXO Protocol

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 struture

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.

SLP++ Protocol

The complete Protocol see more

Tools

coming soon

1. UTXO(includes non-standard) management tools.  
2. write complex script for non-standard transaction outputscript.