Cypress에서 Truffle 컨트랙 배포 에러

트러플을 이용해서 사이프레스 배포를 하면 에러가 발생합니다.
참고로 바오밥은 잘됩니다.

버전은 아래와 같습니다.

    "caver-js": "^1.5.0",
    "caver-js-ext-kas": "^1.0.1",
    "truffle": "5.1.61",
    "truffle-hdwallet-provider-klaytn": "^1.0.13-a"

gas limit 하드 코딩된 부분은 수정 완료했습니다.

배포를 돌리면
image
이 상태로 유지되다가 타임아웃을 걸어 놓으면 PollingTracker - Invalid RPC Response ""라고 뜨네요.

블록 정보를 조회하는 부분이 잘못된거 같은데 caver쪽에 문의하니 KAS쪽에 문의하라고 하더라구요;

얼마전까지 잘되다가 갑자기 안되는지 모르겠네요.
답변 부탁드립니다.

감사합니다.

안녕하세요.
이슈를 재현해봐야 정확한 답변이 가능할 것 같은데요. 작성해주신 글에 있는 정보만으로는 재현이 쉽지 않을 것 같습니다.
재현을 위해 Truffle을 통해 배포 시 사용된 contract 소스와, truffle config파일, 어떤 command를 통해 배포를 시도하셨는지? 배포시 자세한 로그를 제공해주실 수 있으실까요?

그리고 얼마전까지 잘되가다 갑자기 안되는지 모르겠다고 이야기하셨는데, 얼마전까지는 Cypress에 배포가 잘되셨는데 최근에 갑자기 안된다고 이야기하시는걸까요?

네 얼마전까지는 cypress에 배포가 잘되었는데 동일한 환경에서 안되고 있습니다.

truffle.config 파일은 아래와 같습니다.

const HDWalletProvider = require("truffle-hdwallet-provider-klaytn");

const {
  DEPLOYER_ACCOUNT,
  DEPLOYER_PRIVATE_KEY,
  PROVIDER_API_KEY,
  NETWORK,
  PROVIDER_API_ID,
} = process.env;

const privateKey = DEPLOYER_PRIVATE_KEY;
const providerApiKey = PROVIDER_API_KEY;
const accessKeyId = PROVIDER_API_ID;

module.exports = {
  networks: {
    develop: {
      host: "127.0.0.1",
      port: 8545,
    },
    baobab: {
      provider: () => {
        const option = {
          headers: [
            {
              name: "Authorization",
              value:
                "Basic " +
                Buffer.from(accessKeyId + ":" + providerApiKey).toString(
                  "base64"
                ),
            },
            { name: "x-chain-id", value: "1001" },
          ],
          keepAlive: false,
        };
        return new HDWalletProvider(
          privateKey,
          new Caver.providers.HttpProvider(
            "https://node-api.klaytnapi.com/v1/klaytn",
            option
          )
        );
      },
      timeoutBlocks: 5,
      network_id: "1001", //Klaytn baobab testnet's network id
      // gas: "0x5F5E100",
      gas: "30000000",
      gasPrice: null,
    },
    cypress: {
      provider: () => {
        const option = {
          headers: [
            {
              name: "Authorization",
              value:
                "Basic " +
                Buffer.from(accessKeyId + ":" + providerApiKey).toString(
                  "base64"
                ),
            },
            { name: "x-chain-id", value: "8217" },
          ],
          keepAlive: false,
        };
        return new HDWalletProvider(
          privateKey,
          new Caver.providers.HttpProvider(
            "https://node-api.klaytnapi.com/v1/klaytn",
            option
          )
        );
      },
      network_id: "8217", //Klaytn mainnet's network id
      gas: "100000000",
      gasPrice: null,
    },
  },

  mocha: {},

  compilers: {
    solc: {
      version: "0.5.6",
      settings: {
        optimizer: {
          enabled: true,
          runs: 200,
        },
        evmVersion: "constantinople",
      },
    },
  },
  db: {
    enabled: false,
  },
};

command는 npx truffle migrate --network cypress --compile-all입니다.

컨트랙 코드 문제는 아닌듯하여 동일한 환경에서 기본적인 컨트랙 배포해보시면 재현이 가능할듯 합니다.

감사합니다

안녕하세요.

얼마전까지 Cypress에 잘 배포되던게 갑자기 안되는 상황이면 Cypress에만 원인이 있다고 문제를 봐야한다고는 생각이 들진않는데요.

dev forum에서는 당분간 저희가 개발하지 않은 development tool(Truffle, hardhat…등등)와 관련된 이슈는 다루지 않으려고 합니다.

개발 툴의 이슈는 개발 툴을 만든 업체 혹은 프로젝트에 문의해주시길 부탁드리며, 설정파일이나 사용하시는 모듈에 변화가 생기진 않으셨는지 확인 부탁드리겠습니다.

감사합니다.

1 Like