Skip to main content

4.2 Data Storage

On the Bitcoin (BTC) network, each PUSH DATA has a length limit, with MAX_SCRIPT_ELEMENT_SIZE = 520 or a strict requirement of MAX_STANDARD_STACK_ITEM_SIZE = 80 on nodes enforcing standard script policies. Large block blockchains do not have a limit on PUSH DATA length, allowing for up to 4M bytes.

The protocol sets five data areas: data0, data1, data2, data3, data4. On BTC, up to 400 bytes or 2600 bytes can be used.

After being packaged with msgpack, the N20 Payload is segmented.

Transactions exceeding 400 or 2600 bytes of data will be rejected by BTC nodes. Some data service providers can only accept smaller transactions.