当前位置: 首页 > news >正文

Native Programs(本机程序)

Native Programs

  • System Program(系统程序)
  • Config Program
  • Stake Program
  • Vote Program
  • Address Lookup Table Program
  • BPF Loader
  • Ed25519 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

http://www.lryc.cn/news/412475.html

相关文章:

  • RisingWave 1.10 发布!新增用户自定义聚合函数
  • Modbus通讯协议
  • fal.ai发布超分辨率模型——AuraSR V2
  • SYD88xx代码复位不成功和解决办法
  • 加油,为Vue3提供一个可媲美Angular的ioc容器
  • RS485 CAN SPI IIC UART RS232这些通信协议传输距离、传输速度对比给出比较顺序-笔记(面试必备)
  • 高频JMeter软件测试面试题
  • iptables netfilter
  • 如何使用Python自动发送邮件?
  • C#中读写INI配置文件
  • 深入解析Spring中的@RequestMapping注解
  • Python:lambda函数
  • MySQL查询语句
  • 远程连接服务
  • 系统架构设计师——软件开发方法分类
  • 《看漫画学Python》全彩PDF教程,495页深度解析,零基础也能轻松上手!
  • 用户画像系列——Spark任务调优实践
  • 前端面试宝典【HTML篇】【4】
  • 【UbuntuDebian安装MySQL】在线安装MySQL8
  • PDF翻译神器:这四款可以实现一键搞定,留学党必备!
  • 精心准备的高水平的博客【点评语】,来抄啊!
  • gitlab汉化
  • SSH访问控制:精确管理你的服务器门户
  • Java中的SSL/TLS安全通信实现
  • 2959. 关闭分部的可行集合数目
  • 第十九天培训笔记
  • 初学者编程指南:方法与资源推荐
  • 【SpringBoot】数据验证之URL参数校验
  • 目标检测 | yolov2/yolo9000 原理和介绍
  • 基于Raft算法的分布式KV数据库:一、开篇