UNPKG

@linenext/dapp-portal-sdk

Version:

Dapp Portal SDK

58 lines (49 loc) 2.07 kB
# Dapp Portal SDK ## Quick start ### 프로젝트 생성 전달받은 clientId를 준비합니다. SDK는 사전에 협의된 Host주소에서만 작동됩니다. ### SDK 설치 다음 명령어를 입력하여 프로젝트에 Dapp portal SDK를 추가합니다. ```bash npm install @linenext/dapp-portal-sdk ``` 또는 ```bash yarn add @linenext/dapp-portal-sdk ``` ### Transaction 서명 프로젝트 생성단계에서 확인한 `clientId`를 사용하여 SDK를 초기화하고, `WalletProvider`를 얻어옵니다. ```typescript import DappPortalSDK from '@linenext/dapp-portal-sdk' const sdk = await DappPortalSDK.init({ clientId: '<CLIENT_ID>' }); const provider = sdk.getWalletProvider() ``` testnet을 사용하고 싶다면 SDK를 다음과 같이 초기화합니다. ```typescript const sdk = await DappPortalSDK.init({ clientId: '<CLIENT_ID>', chainId: '1001', }); ``` 지갑에 `kaia_requestAccounts` 요청을 보내 연결되어있는 지갑의 주소를 확인합니다. 이 과정에서 지갑의 종류를 선택하고 연결여부를 확인하는 화면이 사용자에게 보여집니다. ```typescript const accounts = await provider.request({ method: 'kaia_requestAccounts' }); const accountAddress = accounts[0] ``` 사용자의 서명이 필요한 Teansaction을 만들어줍니다. 이때 from에 들어가는 주소는 전 단계에서 받아온 지갑의 주소와 일치해야 합니다. ```typescript const tx = { from: accountAddress, to: '0xBBBBBBBBBBBB', value: '10', gas: '21000', }; ``` 지갑에 kaia_sendTransaction 요청합니다. 이 과정에서 사용자에게 서명하는 Transaction에 대한 내용을 확인하는 팝업이 열립니다. 성공했을경우 Tx hash를 반환합니다. ```typescript const txHash = await provider.request({method: 'kaia_sendTransaction', params: [tx]}); ``` ## 호환되는 Lib - https://docs.kaia.io/ko/references/sdk/ethers-ext/getting-started/ - https://docs.kaia.io/ko/references/sdk/web3js-ext/getting-started/ - https://docs.kaia.io/ko/references/sdk/caver-js/