Surfpool은 Solana 생태계에 코드형 인프라(IaC)를 도입하여 개발자가 최소한의 오버헤드로 재현 가능하고 안전하며 자동화된 배포를 달성할 수 있도록 합니다. 시뮬레이션은 Surfpool의 핵심 기능이지만, 기반이 되는 IaC 시스템 역시 현대적인 Solana 개발 워크플로우를 지원하는 데 있어 동등하게 중요한 역할을 합니다.
개요
크립토 코드형 인프라(Crypto IaC)의 개념은 전통적인 DevOps에서 익숙한 자동화, 감사 가능성, 모듈성이라는 동일한 장점을 Web3 공간에 가져옵니다. 이 모델은 복잡한 크립토 환경 전반에 걸쳐 일관되고 확장 가능한 배포 방식을 보장하도록 설계되었습니다.
Surfpool의 Crypto IaC 접근 방식은 Pyth, Wormhole Core, Circle CCTP, Bitcoin Ordinals 등 고급 프로토콜과의 수년간의 실무 경험을 바탕으로 발전해 왔습니다.
견고한 Crypto IaC 시스템은 일반적으로 세 가지 구성 요소 범주를 포함합니다: 온체인 인프라, 서명 인프라, 오프체인 인프라.
온체인 인프라
이 범주에는 다음이 포함됩니다:
- Solana 프로그램 배포
- 업그레이드
- 상태 마이그레이션
잘 구조화된 IaC 구현은 이러한 작업이 재현 가능하고, 버전 관리되며, 감사 가능하도록 보장합니다. 개발자는 모든 배포를 추적하고 실행 전에 그 영향을 파악할 수 있습니다.
서명 인프라
안전한 트랜잭션 서명은 프로덕션 환경에서 필수적입니다. 로컬 keypair (상당한 보안 위험을 초래하는)에 의존하는 대신, 현대적인 IaC 시스템은 다음을 지원합니다:
- 하드웨어 지갑
- 임계값 암호화
- 멀티시그 지갑
Surfpool IaC의 서명 모듈은 모듈식이며 구성 가능합니다. 하드코딩된 개인 키에서 정교한 서명 체계(예: Squads 멀티시그)로의 전환은 설정 변경만으로 가능하며, 코드 재작성이 필요하지 않습니다.
오프체인 인프라
여기에는 다음이 포함됩니다:
- 인덱서
- 상태 감시자
- 지갑 감시자
- 자동화 스크립트
이러한 구성 요소들은 온체인 이벤트에 반응하는 경우가 많으며, 다른 코드 아티팩트와 마찬가지로 테스트 가능하고, 이식 가능하며, 버전 관리가 되는 배포 파이프라인의 일부로 취급되어야 합니다.
참고: Surfpool의 IaC는 의도적으로 RPC 및 노드 프로비저닝을 제외합니다. 이러한 하위 수준의 관심사는 Terraform, Ansible 및 클라우드 네이티브 서비스와 같은 도구들로 이미 충분히 지원되고 있으며, 애플리케이션 수준의 인프라 관리 범위에는 포함되지 않습니다.
언어 설계 원칙
핵심 설계 목표는 정적 분석입니다. 개발자는 코드를 실행하지 않고도 관련 프로그램, 예상 서명자, 접근 계정, 예상 비용을 포함한 실행 계획을 도출할 수 있어야 합니다.
주요 원칙:
- 선언적 구문 (JS DSL 없음, 명령형 셸 스크립트 없음)
- 조합 가능한 구조
- 낮은 학습 곡선
- 인프라와 로직 간의 관심사 분리
이를 통해 서명 공급자나 네트워크 엔드포인트와 같은 구성 요소를 교체하는 것만으로 로컬 개발에서 메인넷 배포까지 원활하게 진행할 수 있습니다.
Web3 런북
Surfpool의 IaC 엔진은 블록체인 배포를 위해 특별히 설계된 도메인 특화 프레임워크인 Web3 런북으로 구동됩니다. 이 시스템은 다음을 보장하기 위해 수개월에 걸쳐 개발되었습니다:
- 간편한 사용성
- 루틴의 조합 가능성
- 안전한 런타임 실행
Solana 및 Ethereum 호환 체인을 모두 지원합니다.
이더리움 환경에서 런북은 Eigenlayer 및 여러 Layer 2 네트워크와 관련된 복잡한 프로토콜 배포를 위해 Consensys의 Infura 팀과 같은 고성능 팀들이 이미 활용하고 있습니다.
Surfpool 통합
Surfpool을 통해 저희는 런북을 한 단계 더 발전시켜 개발자 경험을 개선하고 Solana 사용 사례에 최적화했습니다. 목표는 Solana 개발을 처음부터 모듈화되고, 테스트 가능하며, 프로덕션 준비가 된 상태로 만드는 것입니다.
Surfnet과 Crypto IaC를 결합하여 Surfpool은 다음을 제공합니다:
- 로컬 우선 개발자 스택
- 간단한 설정 업데이트를 통한 메인넷으로의 원활한 전환
- 완전히 정의되고 재현 가능한 네트워크 환경
Is this page helpful?