Solana Provider
@solana/web3.js를 Wepin Provider와 함께 사용하면 Solana 블록체인과 상호작용 할 수 있습니다.
지원 네트워크
solana:mainnet
Solana Mainnet
solana
solana:devnet
Solana Devnet
solana-devnet
설치(Install)
설치가 완료되면 앱 등록 후 할당받은 App ID와 App Key를 사용하여 아래와 같이 WepinProvider 인스턴스를 초기화합니다. 이렇게 하면 WepinProvider 를 사용할 수 있게 됩니다.
초기화하기
Wepin Provider를 초기화하는 방법입니다.
init
Parameters
attributes
<object> optionaldefaultLanguage
: 위젯의 기본 설정 언어. 현재 지원하는 언어는en
,ko
,ja
입니다.defaultCurrency
: 위젯의 기본 통화 설정. 현재 지원하는 통화는USD
,KRW
,JPY
입니다.
Return value
Promise
<void>
Example
isInitialized
WepinProvider 가 정상적으로 초기화 되었는지 확인할 수 있습니다.
Parameters
<void>
Return value
<boolean>
init이 정상적으로 잘 된 경우true
, 실패한 경우false
를 반환합니다.
Example
changeLanguage
위젯의 언어와 통화를 변경할 수 있습니다.
Parameters
attributes
<object>language
<string> 위젯에 표시될 언어를 지정합니다. 현재 지원하는 언어는en
,ko
,ja
3가지 입니다.currency
<string> 위젯에 표시될 통화를 지정합니다. 현재 지원하는 통화는USD
,KRW
,JPY
3가지 입니다.
Return value
<boolean> init이 정상적으로 잘 된 경우
true
, 실패한 경우false
를 반환합니다.
Example
메서드(Method)
Wepin Provider 초기화 후에 메소드를 사용할 수 있습니다.
getProvider
Network에 해당하는 프로바이더를 반환합니다.
Parameters
network
<string> 위핀이 지원하는 Provider의 Network Variable 값으로, Solana Mainnet의 경우 "solana" 입니다. Network Variable은 소문자로 입력해야 합니다. 전체 목록은 Solana Provider 지원 네트워크에서 확인하세요.
Return value
Promise
<BaseProvider> - solana provider
Example
finalize
WepinProvider 사용을 종료합니다.
Parameters
<void>
Return value
<void>
Example
request
Solana 블록체인과 상호작용할 수 있도록 JSON-RPC 요청을 보낼 수 있습니다.
connect
위핀 지갑에 연결하여 사용자의 허가를 받아 계정의 주소(Public Key)를 공유합니다. 연결이 승인되면 애플리케이션은 메시지 서명이나 트랜잭션 요청을 할 수 있습니다.
Parameters
<void>
Return value
Promise
<object>publicKey
<string> - Solana 계정의 Address(Public Key)
Example
signTransaction
직렬화된 트랜잭션을 서명합니다. 입력으로 hex string으로 변환된 트랜잭션을 받고, 서명된 트랜잭션을 반환합니다.
Parameters
<object>
message
<string> - 직렬화된 트랜잭션을 hex string으로 변환한 값
Return value
Promise
<Transaction> - 서명이 포함된 Transaction
Example
signAndSendTransaction
직렬화된 트랜잭션에 서명하고 Solana 네트워크에 제출합니다. 트랜잭션의 서명(Tx ID)을 반환합니다.
Parameters
<object>
message
<string> - 직렬화된 트랜잭션을 hex string으로 변환한 값
Return value
Promise
<object>signature
<TransactionSignature> - 트랜잭션의 서명
Example
signMessage
특정 계정의 주소(Public Key)와 메시지에 서명합니다. 입력으로 계정 주소와 서명할 메시지를 받습니다.
Parameters
<array>
<string>
- sign 하는 계정의 주소(Public Key)<string>
- sign 하려는 message
Return value
Promise
<string> - 서명 값(hex string)
Example
changeNetwork
네트워크를 변경합니다. Solana Mainnet 또는 Devnet으로 전환할 수 있으며, 변경된 네트워크의 주소, 네트워크 이름 및 chain ID를 반환합니다.
Parameters
<object>
chainId
<string> - 변경할 network 의 chainId. solana chain(solana:mainnet, solana:devnet) 만 가능
Return value
Promise
<object>address
<string> - 변경된 네트워크의 계정 주소 (Public Key)network
<string> - 변경된 네트워크의 이름chainId
<string> - 변경된 네트워크의 chain ID
Example
기타 메서드 예제
위핀에서 제공하는 메서드 외에 Solana RPC HTTP Methods 도 사용 가능합니다.
Parameter 로 들어온 Pubkey 와 연결된 모든 계정의 정보를 반환합니다.
Parameters
PubKey
<string> - 조회할 계정의 주소 (base-58로 인코딩 된 PubKey)<object>
commitment
<string> optionalDefault Commitment - finalize
processed - node가 처리한 가장 최신 블록을 조회. 이 블록은 아직 확정되지 않았으며, 변경될 가능성이 있음
confirmed - 클러스터의 과반이 승인한 최신 블록을 조회
finalized - 클러스터의 과반이 최종적으로 확정한 최신 블록
encoding
<string> optionalAccount data 의 인코딩 형식
base58, base64, base64+zstd, jsonParsed
dataSlice
<object> optional - base58, base64, base64+zstd 인코딩일 때만 사용 가능length
<usize> - 반환할 바이트 수offset
<usize> - 읽기를 시작할 바이트 offset
minContextSlot
<number> optional요청을 실행할 수 있는 최소 슬롯
Return value
context
<object>apiVersion
<string> - solana-core versionslot
<number> - 작업이 실행된 slot
value
<object> nullablelamports
<u64> - 계정 잔액owner
<string> - 해당 계정을 소유하고 관리하는 프로그램의 주소 (base-58로 인코딩 된 PubKey)data
<[string, encoding] | object> - 계정과 관련된 데이터executable
<boolean> - 계정에 프로그램이 포함되어있는지(읽기전용 여부포함) 나타내는 불리언 값rentEpoch
<u64> - 이 계정이 다음 스토리지 비용을 지불해야 하는 epochsize
<u64> - 계정 데이터의 크기
Example
계정의 잔액을 반환합니다.
Parameters
Pubkey
<string> - 잔액을 조회할 계정의 주소 (base-58로 인코딩 된 PubKey)<object>
commitment
<string> optionalDefault Commitment - finalize
processed - node가 처리한 가장 최신 블록을 조회. 이 블록은 아직 확정되지 않았으며, 변경될 가능성이 있음.
confirmed - 클러스터의 과반이 승인한 최신 블록을 조회.
finalized - 클러스터의 과반이 최종적으로 확정한 최신 블록.
minContextSlot
<number> optional요청을 실행할 수 있는 최소 슬롯
Return value
context
<object>apiVersion
<string> - solana-core versionslot
<number> - 작업이 실행된 slot
value
<number> - 계정의 잔액
Example
가장 최신 블록해시를 반환합니다.
Parameters
<object> optional
commitment
<string> optionalDefault Commitment - finalize
processed - node가 처리한 가장 최신 블록을 조회. 이 블록은 아직 확정되지 않았으며, 변경될 가능성이 있음
confirmed - 클러스터의 과반이 승인한 최신 블록을 조회
finalized - 클러스터의 과반이 최종적으로 확정한 최신 블록
minContextSlot
<number> optional요청을 실행할 수 있는 최소 슬롯
Return value
context
<object>apiVersion
<string> - solana-core versionslot
<number> - 작업이 실행된 slot
value
<object>blockhash
<string> - base-58로 인코딩 된 해시 값lastValidBlockHeight
<number> - 해당 블록 해시가 유효한 마지막 블록 높이
Example
계정의 모든 SPL Token 계정 정보를 반환합니다.
Parameters
PubKey
<string> - SPL Token Account 의 Owner 주소 (base-58로 인코딩 된 PubKey)<object> - 조회할 SPL 토큰 계정에 대한 필터. mint 와 programId 중 하나만 있으면 됨
mint
<string> - base-58로 인코딩 된 특정 토큰의 Mint AddressprogramId
<string> - base-58로 인코딩 된 특정 프로그램의 ID
<object>
commitment
<string> optionalDefault Commitment - finalize
processed - node가 처리한 가장 최신 블록을 조회. 이 블록은 아직 확정되지 않았으며, 변경될 가능성이 있음
confirmed - 클러스터의 과반이 승인한 최신 블록을 조회
finalized - 클러스터의 과반이 최종적으로 확정한 최신 블록
minContextSlot
<number> optional요청을 실행할 수 있는 최소 슬롯
encoding
<string> optionalAccount data 의 인코딩 형식
base58, base64, base64+zstd, jsonParsed
dataSlice
<object> optional - base58, base64, base64+zstd 인코딩일 때만 사용 가능length
<usize> - 반환할 바이트 수offset
<usize> - 읽기를 시작할 바이트 offset
Return value
context
<object>apiVersion
<string> - solana-core versionslot
<number> - 작업이 실행된 slot
value
<Array<object>>pubkey
<string> - 조회 된 계정의 주소account
<object> - 해당 계정의 정보lamports
<u64> - 계정 잔액data
<object> - 해당 계정과 연결된 Token state dataparsed
<object>info
<object> - 계정 정보isNative
<boolean> - 네이티브 계정 여부 표시. 일반적으로 falsemint
<string> - 해당 토큰 계정과 연결된 특정 토큰의 주소owner
<string> - 해당 토큰 계정을 통제하는 사용자의 Solana 지갑 주소state
<string> - 토큰 계정의 상태tokenAmount
<object> - 토큰 계정의 잔액 정보amount
<string> - 계정 내 보유량을 나타내는 숫자decimals
<number> - 해당 토큰의 소수점 자수uiAmount
<number> - 소수 형태의 토큰 잔액. DEPRECATEDuiAmountString
<string> - 문자열로 표시된 소수 형태의 토큰 잔액
type
<string> - info 의 유형. 이 경우 account
program
<string> - 해당 계정이 속한 프로그램space
<number> - 계정 데이터의 크기. 바이트 단위로 표시
executable
<boolean> - 해당 계정이 실행 가능한지 여부owner
<string> - 계정을 소유한 프로그램의 주소rentEpoch
<u64> - 계정이 현재 임대 상태인 epochsize
<u64> - 계정의 데이터 크기
Example
SPL Token 계정의 잔액을 반환합니다.
Parameters
PubKey
<string> - ATA(Associated Token Account) 주소 ( base-58로 인코딩 된 PubKey)
Return value
context
<object>apiVersion
<string> - solana-core versionslot
<number> - 작업이 실행된 slot
value
<object>amount
<string> - 해당 토큰 계정의 잔액decimals
<number> - 해당 토큰의 소수점 자릿수uiAmount
<number> nullable - 소수 형태의 토큰 잔액. DEPRECATEDuiAmountString
<string> - 문자열로 표시된 소수 형태의 토큰 잔액
Example
그 외 Solana 네트워크 프로바이더의 자세한 내용은 아래 링크를 참고하세요.
Last updated