CKB System Script List

NumberCategoryStatusAuthorOrganizationCreated
0024InformationalDraftDylan DuanNervos Foundation2020-05-21

CKB System Script List

Abstract

System scripts are the smart contracts built and deployed by the CKB core team. System scripts complement the function of CKB in a flexible way. System scripts can provide core functions (e.g. SECP256k1/blake160 and Nervos DAO), shared standard implementations (e.g. Simple UDT) or other auxiliary infrastructure components. This document presents the information of all Nervos CKB system scripts, including a brief introduction and code_hash, hash_type, out_point(tx_hash and index), dep_type on mainnet Lina and testnet Aggron.

Motivation

System scripts are used frequently in dapps, wallets, and other application development. A list of system scripts provides a handy reference to developers.

List of System Scripts

To construct transactions with system scripts, the code_hash, hash_type, out_point and dep_type of system scripts in mainnet Lina and testnet Aggron are needed.

Locks

SECP256K1/blake160

SECP256K1/blake160 (Source Code) is the default lock script to verify CKB transaction signature.

SECP256K1/blake160 script is for lock script:

  • Lina
parametervalue
code_hash0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8
hash_typetype
tx_hash0x71a7ba8fc96349fea0ed3a5c47992e3b4084b031a42264a018e0072e8172e46c
index0x0
dep_typedep_group
  • Aggron
parametervalue
code_hash0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8
hash_typetype
tx_hash0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37
index0x0
dep_typedep_group

SECP256K1/multisig

SECP256K1/multisig (Source Code) is a script which allows a group of users to sign a single transaction.

SECP256K1/multisig script is for lock script:

  • Lina
parametervalue
code_hash0x5c5069eb0857efc65e1bca0c07df34c31663b3622fd3876c876320fc9634e2a8
hash_typetype
tx_hash0x71a7ba8fc96349fea0ed3a5c47992e3b4084b031a42264a018e0072e8172e46c
index0x1
dep_typedep_group
  • Aggron
parametervalue
code_hash0x5c5069eb0857efc65e1bca0c07df34c31663b3622fd3876c876320fc9634e2a8
hash_typetype
tx_hash0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37
index0x1
dep_typedep_group

anyone_can_pay

anyone_can_pay (Source Code) allows a recipient to provide cell capacity in asset transfer.

anyone_can_pay script is for lock script:

  • Aggron
parametervalue
code_hash0x86a1c6987a4acbe1a887cca4c9dd2ac9fcb07405bbeda51b861b18bbf7492c4b
hash_typetype
tx_hash0x4f32b3e39bd1b6350d326fdfafdfe05e5221865c3098ae323096f0bfc69e0a8c
index0x0
dep_typedep_group

Types

Nervos DAO

Nervos DAO (Source Code) is the script implements Nervos DAO.

Nervos DAO script is for type script:

  • Lina
parametervalue
code_hash0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e
hash_typetype
tx_hash0xe2fb199810d49a4d8beec56718ba2593b665db9d52299a0f9e6e75416d73ff5c
index0x2
dep_typecode
  • Aggron
parametervalue
code_hash0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e
hash_typetype
tx_hash0x8f8c79eb6671709633fe6a46de93c0fedc9c1b8a6527a18d3983879542635c9f
index0x2
dep_typecode

Standards

Simple UDT

Simple UDT (Source Code) implements the minimum standard for user defined tokens on Nervos CKB.

Simple UDT script is for type script:

  • Aggron
parametervalue
code_hash0x48dbf59b4c7ee1547238021b4869bceedf4eea6b43772e5d66ef8865b6ae7212
hash_typedata
tx_hash0xc1b2ae129fad7465aaa9acc9785f842ba3e6e8b8051d899defa89f5508a77958
index0x0
dep_typecode