일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SBT표준
- multicall
- 스마트컨트렉트테스트
- git rebase
- Vue
- ethers
- 티스토리챌린지
- Vue.js
- ambiguous function description
- 머신러닝기초
- nest.js설명
- 러스트 기초
- 스마트컨트렉트 예약어 함수이름 중복
- chainlink 설명
- 러스트기초
- ethers v6
- 프록시배포구조
- rust 기초
- 컨트렉트 동일한 함수이름 호출
- ethers type
- ethers typescript
- 스마트 컨트렉트 함수이름 중복
- 체인의정석
- 스마트컨트렉트 함수이름 중복 호출
- 스마트컨트렉트프록시
- 컨트렉트 배포 자동화
- vue기초
- 오블완
- ethers websocket
- 러스트 기초 학습
- Today
- Total
목록블록체인/Ethers & web3 (59)
체인의정석
hardhat node 버전 맞추기 먼저 버전을 맞추는 방법은 아래와 같다. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash nvm install 18 nvm use 18 nvm alias default 18 npm install npm --global # Upgrade npm to the latest version 첫번째 명령어를 실행시키고 터미널을 닫은 후 다시 켜야 제대로 인식이 된다. 현재 hardhat은 18버전이 정식이라고 하니 버전이 19일 경우 18로 내리면 좋다. 여러 컨트렉트 소스 한번에 컴파일하기 1. 먼저 기본 경로인 contract 안에 프로젝트 별로 폴더를 만든다. 2. 각 프로젝트 별..
1. const 파일 만들기 먼저 constant에 해당될 토큰 주소와 decimal 토큰 이름들은 지정해두어서 해당 값들만 바꾸면 스냅샷이 가능하도록 만들어준다. const { ethers } = require("hardhat"); import { tokenName, tokenAddress, startBlock, endBlock } from '../const'; const fs = require('fs'); 2. 엑셀로 TransferTx 저장시키기 먼저 다음 구문을 통해서 이벤트를 다 가져온다. 이벤트를 가져올때 필터를 설정할 수 있는데 이때 transfer 필터를 잡아주고 token Address를 넣어준다. async function getEvents() { const concatArr: Arra..
1. 부하 발생시 node.js의 insperctor 사용해서 체크하기 node.js의 inspector를 다음과 같이 사용하고 접속할 시 inspector가 뜨게 되는데 여기서 메모리 누수 등을 체크할 수 있다. node inspect node bin/www //127.0.0.1:9229 접속 https://nodejs.org/ko/docs/guides/debugging-getting-started/ 디버깅 - 시작하기 | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 2. sequilze, sequilze 쿼리 등은 사용 최소화 하기 sequilze를 사용하게 되면 db connect..
그동안 테스트 코드에서만 여러 지갑 주소를 사용하다가 스크립트에 직접 사용하면 어떻게 해야 할지 찾아봤다. 먼저 config에 프라이빗 키를 배열 형태로 설정해준다. goerli: { url: process.env.RPC_URL, accounts: [process.env.PRIVATE_KEY!, process.env.TEST_PRIVATE_KEY!] }, matic: { url: process.env.RPC_URL_MATIC, accounts: [process.env.PRIVATE_KEY!, process.env.TEST_PRIVATE_KEY!] }, bsc: { url: process.env.RPC_URL_BSC, accounts: [process.env.PRIVATE_KEY!, process.env...
여기 블록체인 트랜잭션을 가져오면서 더 빠른 속도로 가져오기 위해 chatGPT로 최적화를 시켜 다듬은 코드 5개가 있다. 이런 식으로 파일을 여러개 만들어두고 어느게 가장 빠른지 알려면 어떻게 해야 할까? 일단 각 함수를 모듈화 해준 후에 이를 가져오는 작업을 하고 해당 모듈의 함수에 같은 입력값을 넣은 후 초당 몇번씩 실행이 가능한지 보면 될 것이다. const Benchmark = require('benchmark'); // const batchGetRecentBlockInfo1 = require('./localscan'); const batchGetRecentBlockInfo2 = require('./localscanGPT'); const batchGetRecentBlockInfo4 = requi..
https://tech.elysia.land/hardhat%EA%B3%BC-typechain%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%BB%A8%ED%8A%B8%EB%9E%99%ED%8A%B8-%EA%B0%9C%EB%B0%9C-d7e8fc66d1d2 hardhat과 typechain을 사용한 컨트랙트 개발 많은 dApp 프로젝트는 Truffle을 사용한다. Elysia에서도 기존의 스마트 컨트랙트 개발을 Truffle로 진행했다. Truffle은 solidity를 비롯한 블록체인 개발에 있어서 테스트 환경 구축, 배포 등 다양한 기능 tech.elysia.land 1. 타입스크립트를 사용하면 테스트 코드에서 타입을 가져와서 사용할 수 있다. 2. ethers에서 함수를 사..
하드햇에서 실행 스크립트를 만들때 변수화 시켜서 깔끔하게 만들려면 task를 사용해서 만드는 방법이 있다고 한다. 그러나 온라인상에서 예시 코드가 없어서 여기에 기록해두고자 한다. https://hardhat.org/hardhat-runner/docs/advanced/create-task#creating-a-task Hardhat | Ethereum development environment for professionals by Nomic Foundation Hardhat is an Ethereum development environment. Compile your contracts and run them on a development network. Get Solidity stack traces, co..
순서대로 다뤄보기 1. 조회하고자 하는 컨트렉트와 연동해준다. const testContract = await ethers.getContractAt("컨트렉트이름", "컨트렉트주소"); 2. 조회를 할 설정값을 넣어서 필터링을 해준다. const filter = { address: "컨트렉트 주소", fromBlock: 0, toBlock: 10000000, topics: [testContract.filters."이벤트이름"().topics] //Transfer().topics 이런식으로 활용 }; const logs = await ethers.provider.getLogs(filter); //filter를 적용한 로그 값을 가져온다. 3. logs를 통해 조회가 가능하지만 해당 값들은 디코딩이 되지 않..