일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- Vue
- ethers websocket
- Vue.js
- 프록시배포구조
- 스마트컨트렉트테스트
- nest.js설명
- SBT표준
- 깃허브명령어
- rust 기초
- ethers type
- ambiguous function description
- vue기초
- 러스트 기초 학습
- chainlink 설명
- git rebase
- multicall
- 스마트컨트렉트 예약어 함수이름 중복
- 스마트컨트렉트프록시
- 체인의정석
- ethers
- 러스트기초
- 컨트렉트 배포 자동화
- 스마트컨트렉트 함수이름 중복 호출
- 머신러닝기초
- 컨트렉트 동일한 함수이름 호출
- ethers typescript
- 스마트 컨트렉트 함수이름 중복
- 러스트 기초
- nestjs 튜토리얼
- ethers v6
- Today
- Total
목록2024/07 (8)
체인의정석
1. wget깃허브 계정에 들어가서 파일을 찾은 후 raw한 링크를 뽑아낸다.https://github.com/AethirCloud/checker-client/blob/main/v1.0.2.7/AethirCheckerCLI-linux-1.0.2.7.tar.gzhttps://github.com/AethirCloud/checker-client/raw/main/v1.0.2.7/AethirCheckerCLI-linux-1.0.2.7.tar.gz위의 깃허브에 tar.gz가 있다면 아래와 같이 wget을 통해 서버에서 압축된 파일을 가져올 수 있다.wget https://github.com/AethirCloud/checker-client/raw/main/v1.0.2.7/AethirCheckerCLI-linux-1...
1. docker-compose.yml 파일을 작성한다.환경 변수의 경우 여기서 방법이 2가지 있는데 env파일을 따로 만들어 주는 것과 environment를 통해 직접 설정해 주는것이다.아래 예시에서는 db는 후자, event_sub는 전자에 해당된다.version: '3.7'services: mysql_db: image: mysql:latest container_name: database command: --max-connections=10000 ports: - "33306:3306" //왼쪽은 내 컴퓨터에서의 포트, 오른쪽은 도커 안에서의 포트 environment: MYSQL_ROOT_PASSWORD: 비밀번호입력 MYSQL_DATABASE..
크로스체인 트랜잭션 실행 로직을 만들 때 만든 코드 중 다시 사용할 만한 코드만 뽑아서 기록해둔다. 해당 로직은 Ethers v6 버전으로 진행하였다.A. Ethers & WebSocket 사용하여 이벤트 구독하기A-1. ping, pong 을 통해 커넥션 살리기이벤트 구독이 일시적으로 되더라도 계속해서 ws 구독을 유지시키려면 다음과 같이 체크 로직을 만들어서 돌려주어야 한다.const { ethers } = require("ethers");const ResilientWebsocket = async (url) => { const EXPECTED_PONG_BACK = 15000; const KEEP_ALIVE_CHECK_INTERVAL = 30 * 1000; //7500; const de..
docker-compose를 사용하면 docker-compose.yml 파일을 작성해서 DB를 쉽게 생성 할 수 있다.docker-compose.ymlservices: mariadb: image: mysql:latest container_name: mysql-server command: --max-connections=10000 ports: - "33306:3306" environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: mydatabase MYSQL_USER: myuser MYSQL_PASSWORD: password다음과 같이 yml 파일을 작성하면 33306 번 포트로 도커를 띄..
Readme.md 파일을 작성할 때 화면을 미리 볼 수 없다면 직접 올리고 체크를 해야한다.이런 작업을 지속할 경우 불필요한 작업 시간이 늘어나게 된다.위의 Markdown All in one과 Markdow Preview Enhanced를 쓰면 readme 를 더 쉽게 쓸 수 있다.해당 익스텐션을 다운 받은 후조회를 하려는 파일에 우클릭 후 위의 항목을 누르게 된다면위와 같이 readme를 미리 살펴볼 수 있게 된다.작성하면서 동시에 적용되는것을 볼 수 있으니 매우 편리하다.
1. pm2 ecosystem 사용해서 만들기이걸 잘 쓰면 도커를 사용한것과 같이 여러개의 봇들을 잘 관리할 수 있다.먼저 pm2를 설치한 후에 기본적인 설정 파일을 만들어준다.아래 사이트를 참고하였다.https://pm2.keymetrics.io/docs/usage/restart-strategies/ PM2 - Restart StrategiesAdvanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance.pm2.keymetrics.io env의 경우 dev.env로 따로 만들어 두었으며다음과 같은 파일을 명..
이벤트 구독 로직의 경우 실제 테스트 환경까지 통과하더라도 이벤트 구독 로직을 오래 켜두면 RPC 엔드포인트 관련 문제가 발생할 수 있다. 이에 따른 대안은 2가지이다.1. 웹소켓을 쓰고 ping, pong로직 구현 (웹소켓을 쓰는것이 좋다고는 하지만 웹소켓을 써봤자 지속적으로 살려주는 ping, pong 로직을 구현해주고 체크 또한 지속적으로 해주어야 한다.) 2. http 통신을 쓰고 문제가 생길때마다 재시작 1. 가장 좋은 케이스는 문제 없는 URC URL이 제공되며 풀 아카이브 노드 형태로 제공되는 형태 이 경우 일반적인 구독을 사용하더라도 문제가 없다. 이러한 경우 아래와 같이 사용하면 끝난다. Contract.on("ReceiveMessage", async (...args) => { ..
1. create, create2, create3 차이점https://blog.solichain.com/the-ultimate-guide-to-create-create2-and-create3-cc6fe71c6d40 The Ultimate Guide to create, create2 and create3Exploring Ethereum’s ‘create’, ‘create2’ EVM opcodes & ‘create3’ library: Deployment tools for the modern smart contract developer.blog.solichain.com일반적인 배포는 create, 미리 생성된 주소를 알 수 있는 것은 create2, 다중 체인 배포시에 동일한 주소로 활용가능한 것은 creat..