Skip to main content
이 가이드에서는 실제 프로그램을 개발 네트워크에 배포하고 호출하는 방법을 설명합니다. 전체 흐름은 Helius 인프라에서 실행됩니다. 지갑에 requestAirdrop로 자금을 조달하고, 미리 작성된 샘플 프로그램을 배포한 다음 sendTransaction로 호출하여 getSignatureStatuses로 결과를 확인합니다. 준비된 프로그램을 사용하면 Rust 코딩 대신 배포 및 호출 루프에 집중할 수 있습니다.
필수 조건: Solana CLIRust (프로그램 빌드용), Node.js 18+ (호출용), Helius API 키가 필요합니다. Devnet은 모든 Helius 플랜에서 작동합니다.

1

Helius devnet RPC로 Solana CLI 지점 설정

모든 CLI 명령에 Helius 엔드포인트를 사용하고 아직 지갑이 없다면 지갑을 생성하세요:
solana address는 지갑의 공개 키를 출력하며, 다음에 자금을 조달할 것입니다.
2

Devnet SOL 받기

배포에는 약간의 SOL이 필요합니다. Devnet SOL은 무료이며 테스트에만 유효하므로 아래의 수도꼭지나 CLI로 주소에 자금을 추가하세요:
Devnet 수도꼭지는 속도 제한이 있습니다. 에어드롭이 실패할 경우 잠시 기다렸다가 다시 시도하거나 Solana의 공식 devnet 웹 수도꼭지를 대체 방법으로 사용할 수 있습니다. 샘플 프로그램 배포에는 약 1 SOL만 필요합니다.
3

샘플 프로그램 클론 및 빌드

Solana의 공식 program-examples 저장소에서 “Hello, Solana!” 프로그램을 가져옵니다. 호출하면 인사를 기록하며, 이는 전체 루프가 작동한다는 것을 입증하는 최소한의 프로그램입니다.
program-examples는 Cargo 워크스페이스이므로 cargo build-sbf는 프로그램을 저장소 루트(프로그램 폴더 내가 아님)에서 target/deploy/hello_solana_program.so로 컴파일합니다. 다음 단계를 위해 program-examples 디렉토리에 머무르십시오.
4

Helius를 통해 개발 네트워크에 배포하기

CLI는 배포 트랜잭션을 Helius RPC를 통해 제출하고 프로그램 ID를 출력합니다. 다음에 이 프로그램을 호출할 것이므로 복사해 둡니다.
5

sendTransaction으로 프로그램 호출

새 폴더에서 트랜잭션을 빌드하고 전송하고 확인하는 작은 TypeScript 클라이언트를 설정합니다.
invoke.ts
YOUR_API_KEYYOUR_PROGRAM_ID를 대체한 후 실행하십시오:
서명이 나오고 탐색기 링크가 제공됩니다. 링크를 열고 프로그램 명령 로그를 확장하여 프로그램의 Hello, Solana! 인사를 확인하세요.

무슨 일이 일어나고 있는가

모든 것이 Helius RPC를 통해 라우팅됩니다

solana config set --url는 모든 CLI 명령(에어드롭, 배포, 잔액 검사)을 Helius devnet 엔드포인트로 지시합니다. TypeScript 클라이언트도 동일한 엔드포인트를 사용하므로 전체 흐름이 Helius 인프라에서 실행됩니다.

호출 루프: 보내고 확인하기

sendRawTransaction는 내부적으로 sendTransaction RPC 메서드를 호출하고 트랜잭션이 네트워크에서 처리되기 전에 즉시 서명을 반환합니다. 그래서 getSignatureStatuses를 반복 폴링하여 confirmationStatusconfirmed에 도달할 때까지 확인하고, 실패를 잡기 위하여 err를 확인합니다. 이 전송 후 확인 패턴은 모든 Solana 트랜잭션을 제출하는 기초입니다.

다음 단계

Devnet SOL 얻는 방법

Devnet 지갑에 자금을 조달하는 모든 방법과 속도 제한 팁.

sendTransaction

skipPreflight, preflightCommitment 및 재시도와 같은 모든 매개변수.

거래를 신뢰성 있게 배치

메인넷으로 전환할 때 초저지연 랜딩을 위하여 Sender를 사용하십시오.

포트폴리오 추적기 빌드

다른 트랙: 실시간 활동 피드와 함께 지갑의 토큰, NFT 및 SOL을 가져옵니다.