이 페이지는 핵심 개념 페이지 전반에 걸쳐 언급된 모든 런타임 상수에 대한 단일 참조입니다. 각 상수는 agave validator 클라이언트 또는 solana-sdk의 소스 정의로 연결됩니다.
계정
| 상수 | 값 | 설명 | 소스 |
|---|---|---|---|
MAX_ACCOUNT_DATA_LEN | 10 MiB (10,485,760 바이트) | 최대 계정 데이터 크기 | MAX_ACCOUNT_DATA_LEN |
MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION | 20 MiB (20,971,520 바이트) | 트랜잭션당 할당되는 최대 신규 계정 데이터 | MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION |
MAX_PERMITTED_DATA_INCREASE | 10,240 바이트 (10 KiB) | CPI당 최대 재할당 증가량 | MAX_PERMITTED_DATA_INCREASE |
TRANSACTION_ACCOUNT_BASE_SIZE | 64 바이트 | 로드된 데이터 크기에 포함되는 계정당 오버헤드 | TRANSACTION_ACCOUNT_BASE_SIZE |
트랜잭션
| 상수 | 값 | 설명 | 소스 |
|---|---|---|---|
PACKET_DATA_SIZE | 1,232 바이트 | 최대 트랜잭션 크기 (IPv6 MTU에서 헤더를 뺀 값) | PACKET_DATA_SIZE |
MAX_ACCOUNTS_PER_TRANSACTION | 256 | u8 인덱스 인코딩의 하드 상한. 적용되는 런타임 제한은 64입니다 (increase_tx_account_lock_limit가 활성화되면 128, 현재 비활성). | MAX_ACCOUNTS_PER_TRANSACTION |
MAX_PROCESSING_AGE | 150 슬롯 | 블록해시 만료 기간 | MAX_PROCESSING_AGE |
MAX_RECENT_BLOCKHASHES | 300 항목 | BlockhashQueue 크기 | MAX_RECENT_BLOCKHASHES |
MAX_SIGNATURES_PER_PACKET | 12 | 트랜잭션 패킷당 최대 서명 수 | MAX_SIGNATURES_PER_PACKET |
명령어
| 상수 | 값 | 설명 | 소스 |
|---|---|---|---|
MAX_INSTRUCTION_TRACE_LENGTH | 64 | 최대 총 명령어 수 (최상위 + CPI) | MAX_INSTRUCTION_TRACE_LENGTH |
MAX_INSTRUCTION_DATA_LEN | 10,240 바이트 (10 KiB) | 명령어당 최대 instruction data | MAX_INSTRUCTION_DATA_LEN |
프로그램
| 상수 | 값 | 설명 | 출처 |
|---|---|---|---|
MAX_LOADED_ACCOUNTS_DATA_SIZE_BYTES | 64 MiB (67,108,864 바이트) | 기본 로드된 계정 데이터 크기 제한 | MAX_LOADED_ACCOUNTS_DATA_SIZE_BYTES |
PROGRAM_OWNERS | BPF Loader Upgradeable, BPF Loader, BPF Loader Deprecated, Loader V4 | 유효한 프로그램 소유자 로더 | PROGRAM_OWNERS |
STACK_FRAME_SIZE | 4,096 바이트 | SBF 스택 프레임 크기 | STACK_FRAME_SIZE |
MAX_CALL_DEPTH | 64 | 최대 SBF-to-SBF 호출 깊이 | MAX_CALL_DEPTH |
MAX_LOADED_ENTRY_COUNT | 512 | 최대 캐시된 프로그램 수 | MAX_LOADED_ENTRY_COUNT |
DELAY_VISIBILITY_SLOT_OFFSET | 1 slot | 프로그램 배포 가시성 지연 | DELAY_VISIBILITY_SLOT_OFFSET |
수수료 및 컴퓨팅
| 상수 | 값 | 설명 | 출처 |
|---|---|---|---|
DEFAULT_INSTRUCTION_COMPUTE_UNIT_LIMIT | 200,000 CU | 명령어당 기본 CU 제한 | DEFAULT_INSTRUCTION_COMPUTE_UNIT_LIMIT |
MAX_BUILTIN_ALLOCATION_COMPUTE_UNIT_LIMIT | 3,000 CU | 내장 명령어당 기본 CU 제한 | MAX_BUILTIN_ALLOCATION_COMPUTE_UNIT_LIMIT |
MAX_COMPUTE_UNIT_LIMIT | 1,400,000 CU | 트랜잭션당 최대 CU 제한 | MAX_COMPUTE_UNIT_LIMIT |
lamports_per_signature | 5,000 lamport | 서명당 기본 기본 수수료 | FeeStructure::default() |
MICRO_LAMPORTS_PER_LAMPORT | 1,000,000 | lamport당 마이크로 lamport 변환 | MICRO_LAMPORTS_PER_LAMPORT |
MAX_HEAP_FRAME_BYTES | 262,144 바이트 (256 KiB) | 최대 BPF 힙 크기 | MAX_HEAP_FRAME_BYTES |
DEFAULT_HEAP_COST | 32 KiB 페이지당 8 CU | 힙 페이지 할당 비용 | DEFAULT_HEAP_COST |
HEAP_LENGTH | 32,768 바이트 (32 KiB) | 기본 BPF 힙 크기 | HEAP_LENGTH |
WRITE_LOCK_UNITS | 300 CU | 쓰기 잠금 계정당 컴퓨팅 비용 | WRITE_LOCK_UNITS |
SIGNATURE_COST | 720 CU | Ed25519 서명당 컴퓨팅 비용 | SIGNATURE_COST |
SECP256K1_VERIFY_COST | 6,690 CU | secp256k1 서명당 컴퓨팅 비용 | SECP256K1_VERIFY_COST |
PDA
| 상수 | 값 | 설명 | 소스 |
|---|---|---|---|
MAX_SEEDS | 16 | PDA 유도당 최대 seed 개수 | MAX_SEEDS |
MAX_SEED_LEN | 32 바이트 | 단일 seed의 최대 길이 | MAX_SEED_LEN |
| Bump seed 범위 | 255에서 0까지 | 정규 bump에 대해 시도되는 범위 | find_program_address |
create_program_address 비용 | 1,500 CU | PDA 유도 시스템 호출당 CU 비용 | create_program_address_units |
CPI
| 상수 | 값 | 설명 | 소스 |
|---|---|---|---|
MAX_INSTRUCTION_STACK_DEPTH | 5 (SIMD-0268에서 9) | 최대 호출 스택 깊이 | MAX_INSTRUCTION_STACK_DEPTH, MAX_INSTRUCTION_STACK_DEPTH_SIMD_0268 |
DEFAULT_INVOCATION_COST | 1,000 CU (SIMD-0339에서 946) | CPI 호출 비용 | DEFAULT_INVOCATION_COST, INVOKE_UNITS_COST_SIMD_0339 |
MAX_SIGNERS | 16 | CPI당 최대 PDA 서명자 | MAX_SIGNERS |
MAX_CPI_ACCOUNT_INFOS | 128 (SIMD-0339에서 255) | CPI에 전달되는 최대 계정 정보 개수 | MAX_CPI_ACCOUNT_INFOS, MAX_CPI_ACCOUNT_INFOS_SIMD_0339 |
MAX_RETURN_DATA | 1,024 바이트 | CPI로부터의 최대 반환 데이터 | MAX_RETURN_DATA |
cpi_bytes_per_unit | CU당 250 바이트 | CPI 직렬화 비용 비율 | cpi_bytes_per_unit |
Is this page helpful?