import CaverExtKAS from 'caver-js-ext-kas';
import { accessKeyId, secretAccessKey, cypressId, contractAddressCLKToken, ABIAddressCLKToken } from './config.js';
//const CaverExtKAS = require('caver-js-ext-kas');
const chainId = cypressId
const caver = new CaverExtKAS();
caver.initNodeAPI(chainId, accessKeyId, secretAccessKey, false)
caver.initWalletAPI(chainId, accessKeyId, secretAccessKey);
//Test : Invoke Event
const contractCLK = caver.contract.create(ABIAddressCLKToken, contractAddressCLKToken);
const keyringContainer = new caver.keyringContainer();
const keyring = keyringContainer.add(keyringContainer.keyring.createFromPrivateKey('0xmyprivatekeyishere'));
contractCLK.setWallet(keyringContainer);
contractCLK.events.Transfer(
{
fromBlock: 63206106,
toBlock: 'latest',
},(error, data) => {
console.log(`Transfer: ${data}`)
});
const contractOwner = '0xabcdefghijklmnopqrstuvwxyz1234567890abcd';
const options = {
from: contractOwner,
gas: 30000,
};
async function transfer(toAddress, amount) {
await contractCLK.methods.transfer(toAddress, String(amount*Math.pow(10,18))).send(options)
};
transfer('toAddress',10);
안녕하세요, 저는 디파이 서비스의 주요 이벤트(Swap, AddLiquidity 등)를 Listen 하는 것을 목적으로 참고자료 글을 Reference 삼아 일단 Baobab에 배포한
Kip7 토큰의 Event를 조회하기 위한 코드를 상기와 같이 작성해보았습니다.
비전공자이다 보니 질문이 많이 무식할 수 있는 점 먼저 양해 부탁드리겠습니다…
그래서 위 코드 작성 과정에서 마주했던 오류나 혹은 의문들을 나열하고 질문 드려보고자합니다…
-
과거의 Event들을 수집하려면 어떻게 해야하나요?
-
위의 코드는 제가 직접 transfer를 발생시키고 emit된 Transfer 이벤트를 출력하는 건가요?
-
해당 컨트랙트에서 발생되는 추후의 모든 이벤트를 수집하기 위해서는 어떻게 해야하나요?
-
현재 위의 코드에서 transfer함수를 호출할때 ,value 인자를 integer로 주면 overflow 오류(Error: overflow (fault=“overflow”, operation=“BigNumber.from”, value=10000000000000000000, code=NUMERIC_FAULT, version=bignumber/5.3.0))가 발생됩니다. 원래 default가 string 형태인가요?
-
최종적으로 위 코드를 실행시켰을 때, Error: Returned error: not a program account (e.g., an account having code and storage) 에러를 반환합니다. 이건 무슨 에러인가요?
미리 감사드립니다.