요약
코어 프로그램은 기본적인 네트워크 기능을 제공합니다: 계정 관리 (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 | 검증자 투표 상태 및 보상을 추적하는 계정 생성 및 관리 | 소스 |
| Stake | Stake11111111111111111111111111111111111111 | 검증자에 대한 스테이크 위임 생성 및 관리 | 소스 |
| Config | Config1111111111111111111111111111111111111 | 키 기반 접근 제어를 통해 온체인에 구성 데이터 저장 | 소스 |
| Compute Budget | ComputeBudget111111111111111111111111111111 | 트랜잭션의 컴퓨트 유닛 제한 및 우선순위 수수료 설정 | 소스 |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | 많은 계정을 참조하는 트랜잭션을 위한 주소 조회 테이블 관리 | 소스 |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | ElGamal 암호화 데이터에 대한 영지식 증명 검증 | 소스 |
로더 프로그램
모든 프로그램은 로더 프로그램이 소유합니다. 로더는 소유한 프로그램의 배포, 업그레이드 및 실행을 처리합니다. 로더의 전체 목록과 주소는 로더 프로그램을 참조하세요.
Is this page helpful?