들어가기
솔라나 기본 트랜잭션 보내는 방법을 알아보자
지갑 연결하기
사용자가 Solana에서 dApp 또는 애플리케이션을 사용할 수 있도록 하려면 키 쌍에 액세스해야 합니다.
키 쌍은 거래에 서명하는데 사용될 일치하는 공개키가 있는 개인키입니다.
키 쌍을 얻는 방법은 두 가지가 있습니다.:
1. Generate a new Keypair
2. 시크릿 키를 사용해 Keypair 얻기
const { Keypair } = require("@solana/web3.js");
let keypair = Keypair.generate();
이렇게 하면 사용자가 애플리케이션 내에서 자금을 조달하고 사용할 수 있는 새로운 Keypair가 생성됩니다.
트랜잭션 만들기 그리고 보내기
솔라나의 프로그램과 상호작용하기 위해 네트워크로 트랜잭션을 생성, 인증해야합니다.
트랜잭션은 서명이 있는 명령 모음입니다. 명령이 트랜잭션에 존재하는 순서에 따라 실행 순서가 결정됩니다.
Solana-Web3.js의 트랜잭션은 Transaction객체를 사용하고 원하는 메시지, 주소 또는 지침을 추가하여 생성됩니다.
트랜잭션 예제:
const { Keypair, Transaction, SystemProgram, LAMPORTS_PER_SOL } = require("@solana/web3.js");
let fromKeypair = Keypair.generate();
let toKeypair = Keypair.generate();
let transaction = new Transaction();
transaction.add(
SystemProgram.transfer({
fromPubkey: fromKeypair.publicKey,
toPubkey: toKeypair.publicKey,
lamports: LAMPORTS_PER_SOL
})
);
위의 코드는 서명하고 네트워크에 브로드캐스트할 준비가 된 트랜잭션을 생성합니다.
SystemProgram.transfer 명령이 트래잭션에 추가되었으며 보낼 램포트의 양과 공개 키를 오가는 키가 포함되어 있습니다.
남은 것은 Keypair으로 트랜잭션에 서명하고 네트워크를 통해 전송하는 것입니다.
트랜잭션이 완료된 후 사용자에게 경고하거나 조치를 취하려면 sendAndConfirmTransaction을 사용해 트랜잭션 전송을 완료하고 트랜잭션이 확인될 때까지 기다릴 필요가 없는 경우 sendTransaction을 사용할 수 있습니다.
const { sendAndConfirmTransaction, clusterApiUrl, Connection } = require("@solana/web3.js");
let keypair = Keypair.generate();
let connection = new Connection(clusterApiUrl('testnet'));
sendAndConfirmTransaction(
connection,
tranaction,
[keypair]
)
위의 코드는 SystemProgram을 사용해 TransactionInstruction을 받아 Transaction을 생성하고 네트워크를 통해 전송합니다. 연결하려는 Solana 네트워크, 즉 mainnet-beta, testnet 또는 devnet을 정의하기 위해 Connection을 사용합니다.
'coding > web3' 카테고리의 다른 글
가스피(GasFee)가 무엇인가요? (0) | 2022.07.21 |
---|---|
프론트엔드에서 Binance Smart Chain 스마트계약 연결하기 (0) | 2022.06.22 |
바이낸스 스마트 체인(BSC) (0) | 2022.06.20 |
[용어] TXID가 무엇인가요? (0) | 2022.05.12 |
[WEB3] DEX의 세계 (0) | 2022.04.19 |
댓글