当前位置: 首页 > 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

相关文章:

Native Programs(本机程序)

Native Programs System Program(系统程序)Config ProgramStake ProgramVote ProgramAddress Lookup Table ProgramBPF LoaderEd25519 ProgramSecp256k1 Program Solana contains a small handful of native programs that are part of the validator im…...

RisingWave 1.10 发布!新增用户自定义聚合函数

我们非常高兴地宣布:RisingWave 1.10 版本正式发布!新版本为大家带来了许多重要更新,例如:新增用户自定义聚合函数 (UDAF)、支持从游标获取多个更新、支持可溢出哈希 Join、增强 CDC 连接器、新增 Sink 连接器等。一起来了解本次更…...

Modbus通讯协议

Modbus通讯协议 Modbus协议是一种用于电子控制器之间的通信协议,‌它允许不同类型的设备之间进行通信,‌以便进行数据交换和控制。‌Modbus协议最初为可编程逻辑控制器(‌PLC)‌通信开发,‌现已广泛应用于工业自动化领…...

fal.ai发布超分辨率模型——AuraSR V2

今天,我们发布了单步 GAN 升频器的第二个版本: AuraSR。 我们在上个月发布了 AuraSR v1,社区的反响让我们深受鼓舞,因此我们立即开始了新版本的训练。 AuraSR 基于 Adobe Gigagan 论文,以 lucidrain 的实现为起点。Gi…...

SYD88xx代码复位不成功和解决办法

原来的复位代码如下: void ota_manage(void){#ifdef _OTA_if(ota_state){switch(ota_state){case 1 : #if defined(_DEBUG_) || defined(_SYD_RTT_DEBUG_)dbg_printf("start FwErase\r\n");#endifCmdFwErase();#if defined(_DEBUG_) || defined(_SYD_RTT_DEBUG_)db…...

加油,为Vue3提供一个可媲美Angular的ioc容器

为什么要为Vue3提供ioc容器 Vue3因其出色的响应式系统,以及便利的功能特性,完全胜任大型业务系统的开发。但是,我们不仅要能做到,而且要做得更好。大型业务系统的关键就是解耦合,从而减缓shi山代码的生长。而ioc容器是…...

RS485 CAN SPI IIC UART RS232这些通信协议传输距离、传输速度对比给出比较顺序-笔记(面试必备)

各类通信协议(RS485、CAN、SPI、I2C、UART、RS232)的传输距离和传输速度各有不同,适用于不同的应用场景。以下是这些通信协议的传输距离和传输速度的对比及排序: 传输距离比较(从长到短) RS485 最大传输距…...

高频JMeter软件测试面试题

近期,有很多粉丝在催更关于Jmeter的面试题,索性抽空整理了一波,以下是一些高频JMeter面试题,拿走不谢~ 一、JMeter的工作原理 JMeter就像一群将请求发送到目标服务器的用户一样,它收集来自目标服务器的响应以及其他统计…...

iptables netfilter

iptables -L --line...

如何使用Python自动发送邮件?

Python 提供了强大的内置库 smtplib 和 email,让我们能够轻松地发送各种类型的电子邮件。本指南将带你逐步了解如何使用 Python 发送邮件,从简单文本邮件到包含 HTML 内容、附件和内嵌图片的复杂邮件。 1. 准备工作: 1.1 安装必要的库 确保…...

C#中读写INI配置文件

在作应用系统开发时,管理配置是必不可少的。例如数据库服务器的配置、安装和更新配置等等。由于Xml的兴起,现在的配置文件大都是以xml文档来存储。比如Visual Studio.Net自身的配置文件Mashine.config,Asp.Net的配置文件Web.Config&#xff0…...

深入解析Spring中的@RequestMapping注解

RequestMapping是Spring框架中的一个核心注解,用于映射Web请求到处理器类的方法上。本文将详细介绍RequestMapping注解的用途、支持的属性以及如何在Spring MVC和Spring WebFlux中应用它。 1. 引言 在Spring框架中,RequestMapping是一个用于简化请求映…...

Python:lambda函数

lambda函数解释 Lambda函数,也被称为匿名函数,是Python等编程语言中用于创建简单、一次性使用的函数对象的一种快捷方式。在Python中,lambda函数使用lambda关键字定义,其后紧跟一个或多个参数(用逗号分隔)…...

MySQL查询语句

1. 一般查询 select * from table; 创建表:并插入数据,为下面的查询做例 create table info ( id int primary key, name varchar(10), score decimal(5,2), address varchar(20), hobbid int(5));insert into info values(1,liuyi,80,bei…...

远程连接服务

1.SSH协议握手流程 TCP三次握手后当前主机与远程服务器之间协商用哪种协议版本,ssh有两个(ssh1/ssh2)一般用ssh2,协商完后进入到密钥交换的阶段,客户端会生成一个公钥和一个私钥,公钥用来上锁,私…...

系统架构设计师——软件开发方法分类

分类 软件开发方法是指软件开发过程所遵循的办法和步骤,从不同的角度可以对软件开发方法进行不同的分类。 按照开发风范 软件开发过程中,开发方法的选择对项目的成功至关重要。这些方法可按照特定的开发风范分为自顶向下和自底向上两种主要策略&#…...

《看漫画学Python》全彩PDF教程,495页深度解析,零基础也能轻松上手!

前言 说起编程语言,Python 也许不是使用最广的,但一定是现在被谈论最多的。随着近年大数据、人工智能的兴起,Python 越来越多的出现在人们的视野中。 在各家公司里,Python 还常被用来做快速原型开发,以便更快验证产品…...

用户画像系列——Spark任务调优实践

在画像标签的加工和写入hbase中,我们采用了spark来快速进行处理和写入。但是在实际线上运行的过程中,仍然遇到了不少问题,下面来总结下遇到的一些问题 1.数据倾斜问题 其实spark 数据倾斜思路和hive、mapreduce 数据倾斜思路处理类似&…...

前端面试宝典【HTML篇】【4】

欢迎来到《前端面试宝典》,这里是你通往互联网大厂的专属通道,专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习,无论是一线大厂还是初创企业的面试,都能自信满满地展现你的实力。 核心特色: 独家实战案例:每一期专栏都将深入剖析真实的前端面试案例,从基础知…...

【UbuntuDebian安装MySQL】在线安装MySQL8

云计算:腾讯云轻量服务器 系统:Ubuntu-v22 1.更新系统软件包列表 打开终端并运行以下命令来确保你的系统软件包列表是最新的: sudo apt update2.安装 MySQL 存储库 MySQL 提供了官方的 APT 存储库,可以确保你安装的是最新版本…...

纯Java实现Gemma大模型推理:在JVM中部署轻量级AI的工程实践

1. 项目概述:当Gemma遇上Java,一个轻量级AI推理的新选择最近在开源社区里,一个名为mukel/gemma4.java的项目引起了我的注意。作为一名长期在Java生态和机器学习边缘部署领域摸爬滚打的开发者,看到这个标题的第一反应是&#xff1a…...

在ubuntu上使用nodejs通过taotoken统一调用多模型api

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在 Ubuntu 上使用 Node.js 通过 Taotoken 统一调用多模型 API 基础教程类,指导 Ubuntu 上的 Node.js 开发者如何利用 T…...

量子计算威胁下的密码安全:从后量子密码到密码敏捷性实战解析

1. 量子计算:从实验室概念到国家安全的“灰犀牛”最近几年,每当我和业内的同行、安全专家,甚至是投资圈的朋友聊起前沿技术风险,话题总会在某个时刻滑向量子计算。这感觉很像十几年前大家第一次严肃讨论“云计算安全”时一样——一…...

开源创意资产管理平台Buddy:设计团队协作与版本控制实践

1. 项目概述:一个为创意协作而生的开源平台如果你在团队里负责过创意项目,无论是UI设计、视频剪辑还是产品原型开发,大概率都经历过这样的混乱:设计稿的版本号从V1.0一路飙升到V12_final_really_final.psd;开发同学在群…...

Word转Markdown踩过的那些坑:Writage插件失效、Pandoc命令报错怎么办?

Word转Markdown实战避坑指南:从工具失效到完美转换的完整方案 每次技术分享会上,总有人问我:"为什么我的Word转Markdown总出问题?"这让我想起自己刚接触文档转换时踩过的无数坑——插件神秘消失、命令行报错、格式全乱套…...

Qt 批量读取Excel数据:从性能瓶颈到优化实践

1. 为什么Qt读取Excel会卡成PPT? 第一次用Qt操作Excel表格时,我兴冲冲写了个循环读取单元格的代码。结果打开包含5000行数据的文件后,进度条像蜗牛爬坡,鼠标指针转成彩色圆圈,程序直接卡成PPT幻灯片模式——这场景估计…...

常见的 17 种 RAG 方案解析

近年来,随着大语言模型(LLM)的广泛应用,检索增强生成(Retrieval-Augmented Generation,RAG)系统逐渐成为连接私有知识库与智能问答的核心架构。RAG 不仅弥补了大模型在实时性与事实性上的不足&a…...

Audacity音频编辑教程:免费开源音频处理软件的完整使用指南

Audacity音频编辑教程:免费开源音频处理软件的完整使用指南 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity Audacity是一款功能强大的免费开源音频编辑软件,支持录音、剪辑、混音和音频效果…...

终极指南:在Windows上无需模拟器安装安卓应用的完整教程

终极指南:在Windows上无需模拟器安装安卓应用的完整教程 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为安卓模拟器的臃肿和卡顿烦恼吗?今…...

别再只盯着快充了!聊聊交流充电桩(慢充)对电池寿命的友好设计

慢充才是真爱护:揭秘交流充电桩如何用"温柔算法"延长电池寿命 当大多数电动车车主还在为"充电5分钟续航200公里"的快充技术欢呼时,一群电池工程师和资深电车玩家却悄悄把家用充电桩调成了最低电流模式。这不是因为他们时间太多&…...