안녕하세요. 아래와 같은 코드가 있습니다.
아래 컨트랙트를 배포한 account와 test함수를 호출한 account는 같습니다.
contract Test is KIP7 {
constructor() public {
_mint(msg.sender, 100000000000000000000);
}
function test(uint256 loopCnt) public {
for (uint256 i = 0; i < loopCnt; i++) {
transfer(address(i+1), 1);
}
}
}
위 solidity 코드에서 test 함수를 호출하려고 하는데 loopCnt 파라미터로 어떤 값을 넣어도 에러가 납니다. 아래와 같은 에러가 납니다.
호출하는 front-end 코드는 아래와 같습니다.
const testData = App.testContract.methods.test(1).encodeABI();
const setParams = {
from: App.currentAccount,
to: testContractAddress, // test contract address
gas: '5000000',
//gasPrice: '2500000000',
value: '0x0', // 0x 붙여야됨
data: testData,
};
App.kaiKasProvider.sendAsync({ method: 'klay_sendTransaction', params: [setParams] }, (err, result) => {
...
...
}
처음엔 loopCnt 파라미터로 1000을 넣어서 너무 커서 그런가 싶어서 1로 줄였는데도 마찬가지로 에러가 나고 있습니다. 무엇이 문제일까요??
실패한 트랜잭션은 아래에서 볼수 있습니다.
============================= 추가 ===============================
이더리움 KOVAN 네트웍크에서는 잘 작동합니다.
같은코드로 baobab에서 방금 다시 해보니까 잘됩니다. 뭐가 문제였을까요? ㅠㅠ