baobab 네트워크에서 wallet_watchAsset으로 추가한 제 코인의 balance가 0으로 나옵니다. 실제로는 123456789가 있습니다.
contract address : 0x127cC6A7A03d4E28c3Ea4Dc524e5bab5F1285C0C
owner publickey : 0xc5cd84d60102b89fe69ca707e153ba93f4c7a70e
klaytnscope에서 봐도 확인이 되고 해당 컨트랙트의 balanceof함수를 사용해도 확인이 됩니다.
Kaikas 버그인지 코드에 문제가 있는건지 알려주시면 감사하겠습니다.
(아니면 Kaikas가 balance를 가져오는 함수를 어떤걸 쓰는지 알려주시면 좋겠습니다.)
아래는 해당 Contract코드와 Kaikas 토큰 추가 코드입니다.
//
myToken: {
tokenAddress: "0x127cC6A7A03d4E28c3Ea4Dc524e5bab5F1285C0C",
tokenSymbol: "TFF",
tokenDecimals: 18,
tokenImage: 'https://avatars3.githubusercontent.com/u/32095134?s=460&v=4',
}
토큰 추가 코드
....
const { tokenAddress, tokenSymbol, tokenDecimals, tokenImage } = App.myToken;
App.kaiKasProvider.sendAsync(
{
method: 'wallet_watchAsset',
params: {
type: 'ERC20', // Initially only supports ERC20, but eventually more!
options: {
address: tokenAddress, // The address that the token is at.
symbol: tokenSymbol, // A ticker symbol or shorthand, up to 5 chars.
decimals: tokenDecimals, // The number of decimals in the token
image: tokenImage // A string url of the token logo
}
}/*,
id: Math.round(Math.random() * 100000)*/
},
(err, result) => {
if (result.result) {
console.log('Thanks for your interest!')
} else {
console.log('Your loss!')
}
}
);
컨트랙트 코드
pragma solidity ^0.5.0;
import "./klaytn-contracts/token/KIP7/KIP7.sol";
import "./klaytn-contracts/token/KIP7/KIP7Mintable.sol";
contract TestForFront is KIP7, KIP7Mintable {
uint256 private number;
constructor() public
{
_mint(msg.sender, 123456789);
}
function get() public view returns (uint256) {
return number;
}
function set(uint256 value) public {
number = value;
}
}