안녕하세요
KAS Console에 배포했던 ERC20토큰을 등록요청하려고했습니다.
Contract Address : 0x0bbcd245044c507ba1c9c3011d69b33ff3cbc7ed
Signature : d3486657337ea208d0c37357c55faf56f7a4d3ca638d083c3d910ff356e0c83412ccdf119160d96ed21412d622fa9a7c5104e17ef7331d9cf51e682af271e2771c
Token Type : ERC-20
Compiler Version : 0.5.6
Optimizer : On
Code File : MCC.zip (MCC폴더 > FlattenedMCCToken.sol)
위와같이 정보를 입력하고 등록요청을 했는데
이런 오류가 발생했습니다.
이거는 어떻게 해결해야하나요?
_Rachel
September 8, 2021, 7:28am
2
안녕하세요
먼저 저희 KAS 서비스를 이용해주셔서 감사드립니다.
문의주신 내용을 확인해본 결과 ERC20 토큰 등록 과정에서 signature값이 유효하지 않아 에러가 발생됐습니다.
signature앞에 0x 값을 추가하여 재시도해보시길 바랍니다.
감사합니다
@_Rachel
답변해주신대로 0x값을 추가해서 재시도 하였으나 동일하게 에러가 발생했습니다.
HARVEST
September 8, 2021, 9:04am
4
zip 파일의 문제일 수 있습니다.
초기 같은 증상이 있어 윈도우 zip이 아닌 맥os zip으로 넣었더니
해결됐습니다.
_Rachel
September 8, 2021, 9:07am
5
올려주신 signature를 수정해서 테스트해본 결과 생성하신 signature 서명키와 컨트랙트 배포키가 동일하지 않다고 검증되었습니다. signature를 생성하실 때 사용한 키가 컨트랙트 배포에 이용된 키가 맞는지 확인해보시고 다시 signature를 생성하여 등록 시도하시길 바랍니다.
@_Rachel
감사합니다
새로운 signature를 사용해서 요청했는데 동일한 에러가 발생하였고
윗분께서 알려주신대로 맥OS에서 Keka 프로그램을 이용해서 zip파일을 만들어 요청하기도 했고
기본 압축을 이용해서 zip파일을 만들어서 요청을 했는데도 동일하게 에러가 발생했습니다ㅜㅜ
0xfdf28b7b996ef8dd85d03abc2c920dbffe4c362eaba7dcccc563e17d0b8c943634ba96e5cb4daae4d8f83d23c1527d79e3b6a8d82b4e644e5bd0d60f334e7d731b
위 값으로 서명요청을 드렸었습니다
_Rachel
September 9, 2021, 3:15am
7
이번 요청 역시 signature 서명자와 컨트랙트 배포자가 동일하지 않다고 검증됐습니다.
contractAddress : 0x0bbcd245044c507ba1c9c3011d69b33ff3cbc7ed
deployerAddress : 0x166272e821dab0a5d1d560e8eb2a6d751da47e63
chainID : 1001
요청하신 signature의 서명자는 0x275b3d93E9383152579bf8E53eD4f3Bf9DbfAa09 로 검증됩니다.
아래 코드를 참고하여 다시 시도해보시길 바랍니다.
const Caver = require('caver-js');
const caver = new Caver();
const contract_address = "0x0bbcd245044c507ba1c9c3011d69b33ff3cbc7ed";
const private_key = "${your_private_key}"; // 0x166272e821dab0a5d1d560e8eb2a6d751da47e63의 privateKey
const out = caver.klay.accounts.sign(contract_address, private_key);
console.log(out.signature);
@_Rachel
답변 감사합니다
컨트랙트 최초 배포한 계정의 주소가
0x166272e821dab0a5d1d560e8eb2a6d751da47e63
로 확인되었습니다 (어제 문의드린 signature값)
해당 계정으로
https://www.myetherwallet.com/ 에서 서명한 데이터로 문의드렸었고
그때 데이터값은
{
"address": "0x166272e821dab0a5d1d560e8eb2a6d751da47e63",
"msg": "0x0bbcd245044c507ba1c9c3011d69b33ff3cbc7ed",
"sig": "d3486657337ea208d0c37357c55faf56f7a4d3ca638d083c3d910ff356e0c83412ccdf119160d96ed21412d622fa9a7c5104e17ef7331d9cf51e682af271e2771c",
"version": "3",
"signer": "MEW"
}
이렇게 됩니다.
알려주신 방법으로 해야하는건가요??
java로 하는 방법이나 다른 방법이 있으면 같이 알려주셨으면 합니다.
감사합니다.
@_Rachel
알려주신대로 signature를 만들어
등록요청을 했는데 오류는 해결되었으나 등록에 실패했는데
어떤 이유로 등록 실패를 했는지 확인가능하신가요??
0x82432c3f3470068587d715d70b90338c156045dfe4dfb8e36b437ddeefebe8c867ad4a43ef7e3aa17f2ed2d2e457d6bcd3d7b127e9b7d4df6db37d104f5884c91b
생성한 signatur값입니다.