간단한 스마트 컨트랙트를 만들어서 테스트 하고 있는데요
민트 함수를 만들어서 caver-js를 사용해서 호출했는데 에러는 안납니다
klaytn ide로 확인하면 제대로 발행이 안되었구요 여기서 발행을 하면 잘됩니다.
확인 함수를 caver-js로 호출하면 잘나오고요
혹시 무엇이 문제인지 알 수 있을까요?
아래는 간단히 만든 sol파일이고요
그 다음은 nodejs에서 호출하는 부분입니다.
===============================================================
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.7;
contract TestItem {
address onwer;
mapping(uint256=>address) tokens;
uint256 size = 0;
constructor () {
onwer = msg.sender;
}
function Mint (address mint_address, uint256 tokenid) public returns (uint256) {
if(tokens[tokenid] == address(0)) {
tokens[tokenid] = mint_address;
size = size +1;
}
return size;
}
function GetMint(uint256 tokenid) public view returns (address){
return tokens[tokenid];
}
function GetMintCount() public view returns (uint256) {
return size;
}
}
===================================================================
// 테스트 발행
app.post('/api/test/mint', (req, res) => {
const creator_address = req.body.creator_address;
const tokenid = req.body.token_id;
testContract.methods.Mint(creator_address, tokenid).call(function(err, result){
console.log(err);
console.log(result);
res.json({err, result});
});
});
// 테스트 발행 가져오기
app.post('/api/test/getmint', (req, res) => {
const tokenid = req.body.tokenid;
testContract.methods.GetMint(tokenid).call().then(
(e)=>{
console.log(e);
res.json(e);
}
);
});