테스트용 Geth(go-ethereum)의 GiitHub Actions 준비

모티프


이더미를 이용해 앱을 개발하는 노드의 선택은ganache-cliHardhat Network 등이다.이것들은 @ethereumjs/vm을 백엔드로 하는 실현이다ethereumjs/vm은 Etherm VM의 TypeScript 설치입니다.npm 포장이기 때문에 JS/TS에서 쉽게 처리할 수 있다는 장점이 있지만, 이 설치는 메인 네트워크에서 활용되는 것이 아니라 구현된 재현도에서 불안을 남겼다.
이상은 Geth와 Parity 등을 노드로 테스트하여 응용 행위를 확보하는 것이다.그래서 이번에 Geth를 간단하게 준비할 수 있는 GiitHub Actions를 만들었습니다.

사용법


https://github.com/odanado/geth-action
다음은 노드 RPC의 단점이curl로 점파를 던지는 예이다.
on: [push]

jobs:
  test:
    runs-on: ubuntu-latest
    name: test
    steps:
    - uses: actions/checkout@v2
    - name: Geth Action
      uses: odanado/geth-[email protected]
      id: geth
    - name: curl
      run: |
        curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' ${{ steps.geth.outputs.rpc_url }} -H "Content-Type: application/json"
      shell: bash
outputs에는 rpc_url가 있는데 여기에 단점을 지정했다.outputs 이외에도 ETH를 보유한 계좌address/private_key/passwordnetwork_id/chain_id 등이 있다.시험이 필요하다면 이 값을 적당히 사용할 수 있다.

만들어낸 지식


복합 실행 단계 동작은pre/post 옵션을 지정할 수 없습니다


이번에복합 단계 작업를 이용해GiitHub Actions를 제작했습니다.명령 열을 GiitHub Action으로 공개할 수 있는 기능입니다.
Docker 컨테이너 동작이나 JavaScript 동작에서 pre-entrypoint 또는pre/post 옵션을 지정하여 동작이 실행되기 전이나 실행된 후에 임의의 처리를 수행할 수 있습니다.애초에 이 기능을 사용해서 테스트 후에 자동으로 Geth를 끝낼 계획이었다.
그러나 복합 실행 단계 동작에는 이에 해당하는 옵션이 없는 것 같습니다.
이번엔 깃허브 액션스의 VM이 떨어지면서 게스가 자동으로 떨어지기 때문에 문제가 없고, 자바스크립트 동작이 전이되지는 않았지만, 무슨 문제가 생기면 옮기도록 했다.

좋은 웹페이지 즐겨찾기