На этой странице собраны все константы среды выполнения, упомянутые на страницах с основными концепциями. Каждая константа содержит ссылку на исходное определение в клиенте validator agave или в solana-sdk.
Аккаунты
| Константа | Значение | Описание | Источник |
|---|---|---|---|
MAX_ACCOUNT_DATA_LEN | 10 МБ (10 485 760 байт) | Максимальный размер данных аккаунта | MAX_ACCOUNT_DATA_LEN |
MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION | 20 МБ (20 971 520 байт) | Максимальный объём новых данных аккаунта за транзакцию | MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION |
MAX_PERMITTED_DATA_INCREASE | 10 240 байт (10 КБ) | Максимальное увеличение через realloc за один CPI | MAX_PERMITTED_DATA_INCREASE |
TRANSACTION_ACCOUNT_BASE_SIZE | 64 байта | Оверхед на аккаунт, учитываемый в загруженных данных | TRANSACTION_ACCOUNT_BASE_SIZE |
Транзакции
| Константа | Значение | Описание | Источник |
|---|---|---|---|
PACKET_DATA_SIZE | 1 232 байта | Максимальный размер транзакции (MTU IPv6 минус заголовки) | PACKET_DATA_SIZE |
MAX_ACCOUNTS_PER_TRANSACTION | 256 | Жёсткий лимит из кодирования индекса u8. Фактическое ограничение среды выполнения — 64 (128 при активации increase_tx_account_lock_limit, сейчас неактивно). | MAX_ACCOUNTS_PER_TRANSACTION |
MAX_PROCESSING_AGE | 150 слотов | Окно истечения срока действия blockhash | 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 КБ) | Максимальный размер instruction data на одну инструкцию | MAX_INSTRUCTION_DATA_LEN |
Программы
| Константа | Значение | Описание | Источник |
|---|---|---|---|
MAX_LOADED_ACCOUNTS_DATA_SIZE_BYTES | 64 МиБ (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 lamports | Базовая комиссия за подпись по умолчанию | FeeStructure::default() |
MICRO_LAMPORTS_PER_LAMPORT | 1 000 000 | Микролампорты на 1 lamport | MICRO_LAMPORTS_PER_LAMPORT |
MAX_HEAP_FRAME_BYTES | 262 144 байта (256 КиБ) | Максимальный размер BPF-heap | MAX_HEAP_FRAME_BYTES |
DEFAULT_HEAP_COST | 8 CU за страницу 32 КиБ | Стоимость выделения страниц heap | DEFAULT_HEAP_COST |
HEAP_LENGTH | 32 768 байт (32 КиБ) | Размер BPF-heap по умолчанию | HEAP_LENGTH |
WRITE_LOCK_UNITS | 300 CU | Вычислительная стоимость для write-locked аккаунта | WRITE_LOCK_UNITS |
SIGNATURE_COST | 720 CU | Вычислительная стоимость для подписи Ed25519 | SIGNATURE_COST |
SECP256K1_VERIFY_COST | 6 690 CU | Вычислительная стоимость для подписи secp256k1 | SECP256K1_VERIFY_COST |
PDA
| Константа | Значение | Описание | Источник |
|---|---|---|---|
MAX_SEEDS | 16 | Максимальное количество seed для одного PDA | MAX_SEEDS |
MAX_SEED_LEN | 32 байта | Максимальная длина одного seed | MAX_SEED_LEN |
| Bump seed range | от 255 до 0 | Диапазон, используемый для поиска канонического bump | find_program_address |
create_program_address cost | 1 500 CU | Стоимость CU за системный вызов derivation PDA | create_program_address_units |
CPI
| Константа | Значение | Описание | Источник |
|---|---|---|---|
MAX_INSTRUCTION_STACK_DEPTH | 5 (9 с SIMD-0268) | Максимальная глубина стека вызовов | MAX_INSTRUCTION_STACK_DEPTH, MAX_INSTRUCTION_STACK_DEPTH_SIMD_0268 |
DEFAULT_INVOCATION_COST | 1 000 CU (946 с SIMD-0339) | Стоимость вызова CPI | DEFAULT_INVOCATION_COST, INVOKE_UNITS_COST_SIMD_0339 |
MAX_SIGNERS | 16 | Максимум PDA-подписантов на один CPI | MAX_SIGNERS |
MAX_CPI_ACCOUNT_INFOS | 128 (255 с SIMD-0339) | Максимум аккаунт-инфо, передаваемых в CPI | MAX_CPI_ACCOUNT_INFOS, MAX_CPI_ACCOUNT_INFOS_SIMD_0339 |
MAX_RETURN_DATA | 1 024 байта | Максимальный размер возвращаемых данных из CPI | MAX_RETURN_DATA |
cpi_bytes_per_unit | 250 байт за CU | Стоимость сериализации CPI | cpi_bytes_per_unit |
Is this page helpful?