Kip7 토큰 이름 및 심볼 생성

첫 게시글에 알려주신 샘플코드 그대로 입니다. 토큰이 생성된건 스코프에서 확인은했습니다.
await 오류가 나던데 이부분은… 제가 알기로 async로 함수를 구현을 안했기때문이라고 예전에 답변을 주신걸 찾아본상태라… await는 지웠습니다… node: 14.17. caver-js 1.6.4 ,webpack-dev-server:4.31.사용중입니다.

====================
// caver-js v1.5.0 이상 버전
const Caver = require(“caver-js”);
const caver = new Caver(“https://api.baobab.klaytn.net:8651/”);
const deployer = caver.wallet.add(
caver.wallet.keyring.createFromPrivateKey(‘비밀키’)
)
const kip7 = caver.kct.kip7.deploy(
{
name: ‘TokenName’,
symbol: ‘TKN’,
decimals: 18,
initialSupply: ‘100000000000000000000’,
}, deployer.address
)
console.log(Deployed KIP-7 token contract address: ${kip7.options.address})
console.log(Token name: ${kip7.name()})
console.log(Token symbol: ${kip7.symbol()})
console.log(Token decimals: ${kip7.decimals()})
console.log(Token totalSupply: ${kip7.totalSupply()})

async함수는 await를 해주지 않으면 리턴값은 Promise입니다.

그러므로 caver.kct.kip7.deploy함수는 async함수이며 await를 해주지 않으면 Promise값을 리턴합니다.
그러므로 async 함수 내부에서 await와 함께 호출해 주시거나 혹은 then을 사용해서 아래와 같이 할 수 있습니다.

const acct = caver.wallet.add(
    caver.wallet.keyring.createFromPrivateKey('0x{private key}')
)
caver.kct.kip7
    .deploy(
        {
            name: 'TEST',
            symbol: 'TST',
            decimals: 17,
            initialSupply: 10,
        },
        acct.address
    )
    .then(async kip7 => {
        console.log(await kip7.name())
    })

아니면 async function test() 와 같이 async 함수 정의해 주시고 내부에서 await를 사용해도 됩니다.

1개의 좋아요

친절한 답변 및 설명 감사드립니다.
나이먹고 다시하려니 어렵네요^^;
행복한 금요일 되세요~ :grinning_face_with_smiling_eyes:

1개의 좋아요