概要
コアプログラムは、基本的なネットワーク機能を提供します。アカウント管理(System Program)、コンセンサス(Vote、Stake)、トランザクション最適化(Compute Budget、Address Lookup Table)、プライバシー(ZK ElGamal Proof)。System Programの命令リファレンスと全7プログラムのソースリンクを含みます。
System Program
System
Program(11111111111111111111111111111111)は、新しいアカウントを作成できる唯一のプログラムです。すべての新しいアカウントは最初にSystem
Programによって所有されますが、通常は作成時に所有権が再割り当てされます。System
Programは命令ごとにDEFAULT_COMPUTE_UNITS(150
CU)を消費します。
System Program命令リファレンス
| 命令 | 説明 |
|---|---|
CreateAccount | 新しいアカウントを作成します。spaceバイトを割り当て、ownerを割り当て、支払者からlamportsを転送します。新しいアカウントと支払者は署名する必要があります。 |
CreateAccountWithSeed | CreateAccountと同じですが、新しいアカウントのアドレスをアカウントのpubkey、seed文字列、所有者プログラムから導出します。アドレスの導出に使用されたpubkeyを持つアカウントと支払者は署名する必要があります。 |
Assign | アカウントの所有者を設定します。アカウントは署名する必要があります。すでにその所有者である場合は何もしません。 |
AssignWithSeed | Assignと同じですが、seed導出アドレス用です。アドレスの導出に使用されたpubkeyを持つアカウントは署名する必要があります。 |
Transfer | アカウント間でlamportを転送します。送信者は署名する必要があります。 |
TransferWithSeed | Transferと同じですが、seed導出アドレスからの転送です。アドレスの導出に使用されたpubkeyを持つアカウントは署名する必要があります。 |
Allocate | アカウントのデータ長を設定します。アカウントは署名し、空のデータを持ち、System Programによって所有されている必要があります。最大10 MiB。 |
AllocateWithSeed | Allocateと同じですが、seed導出アドレス用です。所有者も割り当てます。アドレスの導出に使用されたpubkeyを持つアカウントは署名する必要があります。 |
AdvanceNonceAccount | nonce値を現在のblockhashに進めます。nonce権限は署名する必要があります。 |
InitializeNonceAccount | 指定された権限でアカウントをnonceアカウントとして初期化します。アカウントはrent免除である必要があります。 |
AuthorizeNonceAccount | nonce権限を変更します。現在の権限は署名する必要があります。 |
WithdrawNonceAccount | nonceアカウントからlamportを引き出します。権限は署名する必要があります。閉じない場合、残高はrentをカバーする必要があります。 |
UpgradeNonceAccount | nonceアカウントをレガシーから現在のバージョン形式にアップグレードします。アカウントは書き込み可能で、レガシーnonceバージョンを含んでいる必要があります。 |
すべてのコアプログラム
| プログラム | プログラムID | 説明 | ソース |
|---|---|---|---|
| System | 11111111111111111111111111111111 | アカウントの作成、SOLの転送、データの割り当て、所有権の割り当てを行う | ソース |
| Vote | Vote111111111111111111111111111111111111111 | validatorの投票状態と報酬を追跡するアカウントを作成・管理する | ソース |
| Stake | Stake11111111111111111111111111111111111111 | validatorへのステーク委任を作成・管理する | ソース |
| Config | Config1111111111111111111111111111111111111 | キーベースのアクセス制御により設定データをオンチェーンに保存する | ソース |
| Compute Budget | ComputeBudget111111111111111111111111111111 | トランザクションの計算ユニット制限と優先手数料を設定する | ソース |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | 多数のアカウントを参照するトランザクション用のアドレスルックアップテーブルを管理する | ソース |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | ElGamal暗号化データのゼロ知識証明を検証する | ソース |
ローダープログラム
すべてのプログラムはローダープログラムによって所有されています。ローダーは、所有するプログラムのデプロイ、アップグレード、実行を処理します。ローダーの完全なリストとそのアドレスについては、ローダープログラムを参照してください。
Is this page helpful?