Native Programs(本机程序)

Native Programs

  • [System Program(系统程序)](#System Program(系统程序))
  • [Config Program](#Config Program)
  • [Stake Program](#Stake Program)
  • [Vote Program](#Vote Program)
  • [Address Lookup Table Program](#Address Lookup Table Program)
  • [BPF Loader](#BPF Loader)
  • [Ed25519 Program](#Ed25519 Program)
  • [Secp256k1 Program](#Secp256k1 Program)

Solana contains a small handful of native programs that are part of the validator implementation and provide various core functionalities for the network. You can find the full list of native programs here.

When developing custom programs on Solana, you will commonly interact with two native programs, the System Program and the BPF Loader.

Solana contains a small handful of native programs, which are required to run validator nodes. Unlike third-party programs, the native programs are part of the validator implementation and can be upgraded as part of cluster upgrades. Upgrades may occur to add features, fix bugs, or improve performance. Interface changes to individual instructions should rarely, if ever, occur. Instead, when change is needed, new instructions are added and previous ones are marked deprecated. Apps can upgrade on their own timeline without concern of breakages across upgrades.

For each native program the program id and description each supported instruction is provided. A transaction can mix and match instructions from different programs, as well include instructions from on-chain programs.

System Program(系统程序)

Create new accounts, allocate account data, assign accounts to owning programs, transfer lamports from System Program owned accounts and pay transaction fees.

Program id: 11111111111111111111111111111111

Config Program

Add configuration data to the chain and the list of public keys that are permitted to modify it. Unlike the other programs, the Config program does not define any individual instructions. It has just one implicit instruction, a "store" instruction. Its instruction data is a set of keys that gate access to the account, and the data to store in it.

Program id: Config1111111111111111111111111111111111111

Stake Program

Create and manage accounts representing stake and rewards for delegations to validators.

Program id: Stake11111111111111111111111111111111111111

Vote Program

Create and manage accounts that track validator voting state and rewards.

Program id: Stake11111111111111111111111111111111111111

Address Lookup Table Program

Program id: AddressLookupTab1e1111111111111111111111111

BPF Loader

Deploys, upgrades, and executes programs on the chain.

Program id: BPFLoaderUpgradeab1e11111111111111111111111

The BPF Upgradeable Loader marks itself as "owner" of the executable and program-data accounts it creates to store your program. When a user invokes an instruction via a program id, the Solana runtime will load both your the program and its owner, the BPF Upgradeable Loader. The runtime then passes your program to the BPF Upgradeable Loader to process the instruction.

Ed25519 Program

Verify ed25519 signature program. This program takes an ed25519 signature, public key, and message. Multiple signatures can be verified. If any of the signatures fail to verify, an error is returned.

Program id: Ed25519SigVerify111111111111111111111111111

The ed25519 program processes an instruction. The first u8 is a count of the number of signatures to check, which is followed by a single byte padding. After that, the following struct is serialized, one for each signature to check.

Secp256k1 Program

Verify secp256k1 public key recovery operations (ecrecover).

Program id: KeccakSecp256k11111111111111111111111111111

相关推荐
磐链科技2 天前
技术服务:交易所从流量竞争到生态竞争的核心变量
区块链
Web3李李2 天前
DApp核心安全漏洞与项目方全方位防护指南
web3·区块链·智能合约·软件开发·dapp开发·安全审计
双缝观察者2 天前
消费场景中,多层级资金流转异常模式识别与溯源方法
区块链
磐链科技2 天前
从性能到智能:区块链交易所前沿技术全景洞察
区块链
汇策研习社3 天前
改良版ADX指标实战指南:告别传统ADX滞后、震荡误判难题
大数据·经验分享·金融·区块链·fastbull
酿情师3 天前
区块链共识算法深度拆解:PoW、PoS、PBFT、Raft 原理解析
算法·区块链·共识算法
磐链科技3 天前
区块链链游安全警示:常见漏洞与攻击手段
安全·区块链
I-NullMoneyException3 天前
0713|油价飙升、蓝牙致癌辟谣、AI推理成本、曼谷火灾、世界杯超清
人工智能·区块链
北冥you鱼3 天前
Go语言与默克尔树:区块链数据完整性的基石
开发语言·golang·区块链
IvorySQL3 天前
PG 日报|新增 VFD 缓存监控视图,精细化数据库调优
大数据·数据库·人工智能·缓存·postgresql·区块链