Kit으로 마이그레이션

@solana/web3.js(레거시), @solana/wallet-adapter-*, 또는 이전 프레임워크-kit 패키지(@solana/client, @solana/react-hooks, @solana/web3-compat)를 사용하고 계셨다면, @solana/kit 플러그인 또는 @solana/web3.js v3(이상)으로 마이그레이션하시기를 권장합니다.

이 페이지는 기존에 알고 계신 개념들을 Kit의 동등한 개념으로 매핑합니다.

개념 매핑

web3.js (레거시) / wallet-adapterKit
new Connection(url)createSolanaRpc(url), 또는 클라이언트에서 .use(solanaRpc({ rpcUrl }))
PublicKeyAddress — address("...")로 문자열 변환
KeypairgenerateKeyPairSigner() 또는 @solana/kit-plugin-signer 플러그인
SystemProgram.transfer(...)@solana-program/system의 getTransferSolInstruction(...)
LAMPORTS_PER_SOL 수학 연산@solana/kit의 lamports(...)
Transaction / VersionedTransaction트랜잭션 플래너가 빌드 및 패킹하는 트랜잭션 메시지
sendAndConfirmTransaction(...)client.sendTransaction([...]) (플래너가 서명, 전송 및 확인)
@solana/wallet-adapter-*@solana/kit-plugin-wallet + Wallet Standard 검색

web3.js v3는 위에 나온 클래스 기반 이름인 Connection, Keypair, Transaction, PublicKey를 Kit 내부 기능을 감싸는 얇은 래퍼로 유지합니다. 따라서 Kit 열은 v3에서 해당 클래스들이 내부적으로 수행하는 동작도 함께 설명합니다.

web3.js에서 오셨나요?

대규모 @solana/web3.js(레거시) 코드베이스를 유지 관리하고 있고 Kit으로 전면 재작성하기가 현실적이지 않다면, web3.js v3가 그 가교 역할을 합니다. @solana/web3.js@3로 설치하세요. 이 버전은 기존의 클래스 기반 API인 Connection, Keypair, Transaction, PublicKey를 @solana/kit 내부 기능 위에 다시 구현합니다. Kit을 기반으로 하기 때문에 상호 운용성이 매우 높습니다. PublicKey는 기본 주소 타입이며 .toBase58()은 Kit의 브랜디드 Address 문자열을 반환하고, v3 Keypair는 Kit의 KeyPairSigner를 구현하므로 Kit API, 플러그인, Codama로 생성된 클라이언트에 직접 전달할 수 있습니다.

v1 트랜잭션과 web3.js(레거시)

web3.js로 v1 트랜잭션을 전송하는 경우 v3 이상을 사용해야 합니다.

마이그레이션 방법은 공식 web3.js v1 → v3 마이그레이션 가이드를 참고하세요.

지갑

Kit은 wallet-adapter를 사용하지 않습니다. @solana/kit-plugin-wallet는 Wallet Standard 지갑을 검색하고 client.wallet 및 React 훅을 통해 노출합니다. 최신 지갑(Phantom, Solflare, Backpack 등)은 Wallet Standard를 통해 자신을 알리므로 지갑별 어댑터 패키지가 필요하지 않습니다.

@solana/connector와 같은 사전 빌드된 도구를 사용할 수도 있습니다. 이 도구는 Kit 기본 요소를 직접 사용하여 지갑에 연결합니다.

아직 wallet-adapter를 사용 중이신가요?

@solana/wallet-adapter-* 기반으로 구축된 앱을 유지 관리 중이며 아직 마이그레이션할 준비가 되지 않은 경우, wallet-adapter 저장소가 해당 스택의 참조 자료로 유지됩니다. 새로운 프로젝트에는 Kit 지갑 플러그인을 사용하는 것을 권장합니다.

다음 단계

Is this page helpful?

목차

페이지 편집