プログラム

Solanaプログラムは、実行可能なsBPFバイトコードを含み、executableフラグがtrueに設定されたアカウントです。プログラムはステートレスです。すべての可変状態は、instructionsを介して渡される別のデータアカウントに存在します。

プログラムアカウント、その4つのコンポーネント、およびそのローダープログラムの図。プログラムアカウント、その4つのコンポーネント、およびそのローダープログラムの図。

主要な事実

  • sBPFへのコンパイル: プログラムはLLVMを介してSolana Bytecode Format(sBPF)にコンパイルされ、実行可能なアカウントに保存されます。
  • ステートレス: すべての可変状態は、プログラムアカウントではなく、別のデータアカウントに存在します。
  • アップグレード可能: loader-v3(BPF Loader Upgradeable)でデプロイされたプログラムは、アップグレード権限が設定されている場合にアップグレードできます。その権限を取り消すと、プログラムは不変になります。

制限

制限ソース
デフォルトヒープサイズ32 KiBHEAP_LENGTH
最大ヒープサイズ(調整可能)256 KiBMAX_HEAP_FRAME_BYTES
スタックフレームサイズ4,096バイトSTACK_FRAME_SIZE
最大sBPF呼び出し深度64MAX_CALL_DEPTH
最大instructionスタック深度(トップレベル + CPI)5(SIMD-0268では9)MAX_INSTRUCTION_STACK_DEPTHMAX_INSTRUCTION_STACK_DEPTH_SIMD_0268
ヒープコスト32 KiBページあたり8 CUDEFAULT_HEAP_COST
最大キャッシュプログラム数512MAX_LOADED_ENTRY_COUNT
デプロイ可視化遅延1 slotDELAY_VISIBILITY_SLOT_OFFSET

Is this page helpful?

目次

ページを編集

管理運営

© 2026 Solana Foundation.
無断転載を禁じます。
つながろう