EPguy
[솔라나 Dapp 튜토리얼 - 3] @solana/web3.js 를 사용하여 keypair를 생성해보자 본문
개발/Solana Dapp Tutorial
[솔라나 Dapp 튜토리얼 - 3] @solana/web3.js 를 사용하여 keypair를 생성해보자
EPguy 2024. 2. 14. 14:26이 글에선 @solana/web3.js를 사용하여 keypair(public, secret key)를 만드는 간단한 web3 애플리케이션을 개발하는 방법에 대해 설명합니다.
1. 이 글에선 어떤걸 배울 수 있나요?
- keypair란 무엇인가?
- Typescript, Solana web3.js 프로젝트 세팅 방법
- public key, secret key 생성하는 방법
2. keypair란 무엇인가?
- keypair는 public key와 secret key의 한 쌍입니다.
- 솔라나 네트워크에 참여하는 모든 사람은 적어도 하나의 keypair를 갖고있습니다.
- public key는 계정을 가리키는 주소로 사용되며 다른 사람에게 공개되도 무방합니다.
- secret key는 계정에 접근 할 수 있기 때문에 항상 안전하게 보관해야합니다.
- solana/web3.js 라이브러리를 사용하여 새로운 키 쌍을 만들거나 기존 secret key를 사용하여 keypair를 복구할 수 있습니다.
3. Solana web3.js 프로젝트 세팅
먼저, 타입스크립트로 개발할 예정이기 때문에 아래 명령어로 ts-node를 설치해줍니다.
npm install -g ts-node
폴더를 생성하고, Typescript와 Solana web3.js 라이브러리를 npm을 사용해 설치해줍니다.
mkdir generate-keypair
cd generate-keypair
npm init -y
npm install typescript @solana/web3.js esrun @solana-developers/helpers
4. keypair(public, secret key) 생성하는 로직 작성하기
generate-keypair.ts 라는 새로운 파일을 생성하고 아래 코드를 작성해줍니다.
import { Keypair } from "@solana/web3.js";
const keypair = Keypair.generate();
console.log(`The public key is: `, keypair.publicKey.toBase58());
console.log(`The secret key is: `, keypair.secretKey);
console.log(`✅ Finished!`);
아래 명령어로 코드를 실행합니다.
ts-node generate-keypair.ts
짠! 실행이 완료되면 아래와 같은 로그를 볼 수 있습니다.
The public key is: 764CksEAZvm7C1mg2uFmpeFvifxwgjqxj2bH6Ps7La4F
The secret key is: Uint8Array(64) [
(a long series of numbers)
]
✅ Finished!
5. secret key로 keypair 복구하기
.env 파일에서 secret key를 불러와 keypair를 복구할 수도 있습니다.
.env 파일을 생성하고 secret key를 입력해주세요.
(.env 파일을 사용해서 불러오는 이유는 코드에 직접 secret key를 적는건 보안적으로 위험하기 때문입니다.)
SECRET_KEY="[(a series of numbers)]"
아래 명령어로 dotenv를 설치해주세요.
npm i dotenv
generate-keypair.ts를 아래코드로 변경해주세요.
import "dotenv/config"
import { getKeypairFromEnvironment } from "@solana-developers/helpers";
const keypair = getKeypairFromEnvironment("SECRET_KEY");
console.log(`The public key is: `, keypair.publicKey.toBase58());
console.log(`The secret key is: `, keypair.secretKey);
console.log(
`✅ Finished! We've loaded our secret key securely, using an env file!`
);
아래 명령어로 코드를 실행합니다.
ts-node generate-keypair.ts
secret key로 keypair가 복구된걸 확인하실 수 있습니다.
The public key is: 764CksEAZvm7C1mg2uFmpeFvifxwgjqxj2bH6Ps7La4F
The secret key is: Uint8Array(64) [
(a long series of numbers)
]
✅ Finished! We've loaded our secret key securely, using an env file!
'개발 > Solana Dapp Tutorial' 카테고리의 다른 글
[솔라나 Dapp 튜토리얼 - 4] Transaction을 생성하고 솔라나 클러스터에 전송하기 (1) | 2024.02.16 |
---|---|
[솔라나 Dapp 튜토리얼 - 2] 로컬 개발을 위한 Solana CLI 를 설치해보자 ! (0) | 2024.02.13 |
[솔라나 Dapp 튜토리얼 - 1] Hello World를 출력하는 솔라나 프로그램을 개발해보자 ! (0) | 2024.02.13 |