일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ambiguous function description
- git rebase
- multicall
- chainlink 설명
- 스마트 컨트렉트 함수이름 중복
- 컨트렉트 배포 자동화
- 스마트컨트렉트 예약어 함수이름 중복
- 스마트컨트렉트 함수이름 중복 호출
- 머신러닝기초
- ethers v6
- SBT표준
- 깃허브명령어
- 프록시배포구조
- ethers type
- 체인의정석
- nestjs 튜토리얼
- 스마트컨트렉트프록시
- ethers typescript
- 컨트렉트 동일한 함수이름 호출
- 스마트컨트렉트테스트
- 러스트기초
- rust 기초
- 러스트 기초
- nest.js설명
- 러스트 기초 학습
- ethers websocket
- Vue
- ethers
- Vue.js
- vue기초
- Today
- Total
목록분류 전체보기 (488)
체인의정석
Uniswap V2 컨셉 토큰과 토큰의 거래를 해주는 거래소가 DEX인데 유니스왑 V2,V3의 거래량은 다양한 DEX 중 가장 많은 거래량을 자랑한다. UniswapV2는 자동화되어 토큰을 거래해주는 프로토콜이다. 유니스왑 V2는 이더리움 또는 이더리움의 레이어 2 위에만 존재한다. 거래소에서는 오더북 형식으로 서버에서 관리되며 DEX는 유동성 풀에서 거래되며 블록체인에서 거래된다. CPMM 유니스왑에서 SWAP은 x*y = k 이라는 Constant Product Market Maker라는 CPMM 모델을 사용한다. X와 Y의 가치의 곱인 K가 유지가 되기 때문에 이러한 값이 나오게 된다. 그래프에서 결국 한 점에서의 기울기가 price인데 해당 기울기는 x와 y 좌표의 이동에 따라서 변화가 되게 되는..
실제 프로덕트에서 에러 로그를 보고 디버깅을 할 때는 양이 많아서 cat으로는 찾기 어렵다. 따라서 원하는 상황에 맞게 로그를 터미널에서 검색해서 볼 수 있어야 한다. 1. head head는 앞 부분을 출력하는데 숫자를 안 넣으면 10개의 최근 기록들이 출력된다. head error.log 앞에 20 행을 출력하려고 하면 head -n 20 error.log 이런식으로 하면 된다. 2. tail tail은 뒷 부분을 출력하는데 숫자를 안 넣으면 마지막 10개의 기록이 출력된다. tail error.log 마지막 20 행을 출력하려고 하면 tail -n 20 error.log 이런식으로 하면 된다. 물론 1000 행 씩 출력해도 된다. 3. cat [option] [filenam] grep 만약 abc..
먼저 git rebase는 과거에도 정리한 적이 있지만 실제로는 항상 소스를 합칠 때 pull과 merge를 썼었다. rebase는 다른 브랜치와 합치기 전에 충돌을 미리 다 해결하고 정리가 된 상태에서 머지를 하는 것인데 이렇게 rebase가 되어 있는 코드는 커밋 내용이 이쁘게 정렬이 되며 머지 할 당시에 충돌도 안 일어나서 rebase를 쓰는 것이 더 기록을 보기에 좋다고 한다. https://it-timehacker.tistory.com/143 Git) 브랜치 rebase 하기 깃에서 한 브렌치에서 다른 브랜치로 합치는 방법은 2가지가 있다고 한다. 첫번째는 Merge이고, 두번째는 rebase라고 한다. 이렇게 2개의 브랜치가 나누어져 있다고 가정해보자 이 2개를 합리는 가 it-timehack..
git submoudle 에서 브랜치를 받아서 pull을 받게 되면 하나의 파일이 생기게 되는데 깃을 사용할때 이런 파일들이 모이면 관리하기가 복잡해 진다. 따라서 이를 가끔씩 초기화 해주어야 하는데 git submodule deinit 이 명령어를 써주면 된다.
html 페이지 중 백엔드가 없다면 구동이 안되는 경우 서버를 가장 간단하게 띄우는 방법은 무엇이 있을까? 바로 npm install -g http-server http-server 설치 후 http-server -p 8080 다음과 같이 서버를 띄우는 거다. processing http-server -p 3000 Starting up http-server, serving ./ http-server version: 14.1.1 http-server settings: CORS: disabled Cache: 3600 seconds Connection Timeout: 120 seconds Directory Listings: visible AutoIndex: visible Serve GZIP Files: fal..
깃허브의 원격 저장소에 만약 잘못된 내용이 올라갔는데 이를 되돌리고 싶다면 어떻게 해야할까? 1. 기록안남기고 되돌리는 방법 먼저 되돌리고 싶은 커밋 수 또는 위치만큼 로컬에서 커밋을 되돌려 주어야 한다. git reset --hard HEAD~3 이렇게 하면 3번째 커밋 전까지 되돌아가며 git reset --hard HEAD~1 이렇게 하면 최근 1개의 커밋 이전으로 돌아간다. 이렇게 하면 기록 자체가 남지 않게 된다. 이 경우 다시 push를 하면 pull이 다시 뜨게 되면서 최신이 아닌 상태에서 업데이트가 되게 되므로 push를 강제로 한번 실행시켜 주어야한다. git push -f origin master 위와 같은 명령어를 사용하면 강제로 푸시가 되므로 이전 상태로 강제로 되돌릴 수 있다. 이..
TypeError: 컨트렉트이름.함수 is not a function 위와 같은 에러가 난다면? 위에처럼 ethers에서 함수를 못 찾을 때는 일단 abi 부터 체크해 보아야 한다. 먼저 컨트렉트와 상호작용한 변수를 만들어 주면 const exampleContract = await ethers.getContractAt("exampleContract", exampleContractAddress); 이런식으로 변수를 만들어 준 후에 console.log(exampleContract.functions); 해당 변수에 담겨있는 함수들 리스트를 가져와서 내가 사용하려는 함수가 있는지 확인해 본다. 근데 만약 다시 컴파일도 하고 함수이름까지 있는데 인식이 안된다면? 이건 오버로딩 문제일 수도 있다. ethers에서..
과거 특정 시점에서의 특정 값을 조회 할 때 이벤트 말고도 조회가 가능한 방법이 있다. 바로 조회 함수에 특정 블록번호를 넣어주는 블록태그 blocktag이다. https://github.com/ethers-io/ethers.js/blob/ab319f2f4c365d4cd1b1e17e577ecd18a7a89276/packages/contracts/src.ts/index.ts#L33 GitHub - ethers-io/ethers.js: Complete Ethereum library and wallet implementation in JavaScript. Complete Ethereum library and wallet implementation in JavaScript. - GitHub - ethers-io..