반응형
솔라나 web3 개발 중에 키페어로 서버에서 서명하는 경우는 다음과 같은 코드를 활용한다.
const keypair = Keypair.generate();
let tx = new Transaction();
tx.sign(keypair);
keypair
객체는 public key / secret key 정보가 모두 있어 트랜잭션에 대한 서명을 만들 수 있다.
또는 Transaction
객체의 sign()
함수 대신 addSignature()
를 사용한다면 다음처럼 tweetnacl
함수를 사용해야 한다.
const keypair = Keypair.generate();
let tx = new Transaction();
const buffer = tx.serializeMessage();
const signature = nacl.sign.detached(buffer, keypair.secretKey);
tx.addSignature(keypair.publicKey, Buffer.from(signature));
Transaction
객체의 sign()
또는 partialSign()
함수도 내부적으로는 tweetnacl
함수를 사용한다. 그리고 verifySignatures()
함수를 사용하면 트랜잭션 객체에서 요구하는 모든 서명에 대해 정확한 서명이 동봉되어있는지 boolean 값으로 리턴된다. 여기서 검증하는 함수 또한 tweetnacl
라이브러리를 활용한다.
다음은
반응형
'블록체인 > 솔라나' 카테고리의 다른 글
web3 개발 애러 처리 (0) | 2022.06.15 |
---|---|
팬텀 지갑 제공 정보 (0) | 2022.06.14 |
[beet FixableBeetStruct.deserialize 에러]"offset" is out of range (0) | 2022.05.18 |
sendAndConfirmTransaction 서명 오류 (0) | 2022.05.16 |
솔라나 Generative Art 생성 방법 (0) | 2022.04.28 |