일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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표준
- vue기초
- redux toolkit 설명
- redux 기초
- multicall
- 티스토리챌린지
- ethers typescript
- Vue
- 스마트 컨트렉트 함수이름 중복
- 오블완
- ethers
- Vue.js
- git rebase
- 체인의정석
- ethers type
- 컨트렉트 동일한 함수이름 호출
- chainlink 설명
- 계정추상화
- erc4337 contract
- 러스트기초
- 머신러닝기초
- 스마트컨트렉트 예약어 함수이름 중복
- 러스트 기초 학습
- ambiguous function description
- rust 기초
- ethers websocket
- erc4337
- ethers v6
- 스마트컨트렉트 함수이름 중복 호출
- 러스트 기초
- Today
- Total
목록분류 전체보기 (523)
체인의정석
스마트컨트렉트에 있어서 자동으로 배포해주고 설정해주는 스크립트를 짜는 것은 중요하다. 이번 프로젝트에서는 여러 상황에 따라 여러 종류의 스크립트를 사용하였는데 1. env 파일을 사용하는방법 .env 파일을 만든 후에 process.env.환경변수 를 이용하여서 스크립트를 사용한다. 나중에 리눅스 커멘드로 운영할때도 편리한 방법이다. 다만 계속해서 변수가 바뀔 경우 환경변수로 하기에는 복잡한 한계가 존재한다. 2. 변수를 모듈로 빼서 정의 후 사용하는 방법 export const를 사용하여 따로 하나의 변수 파일에 정의한 후 import 해와서 해당 변수를 파악한다. ethers.js를 사용하면 둘 다 쉽게 쓸 수 있지만 현재 상황은 여러 체인의 여러 환경 (dev,prd,test) 등을 같이 관리해야 ..

실제 프로덕트를 배포할 단계가 오면서 가스비에 대한 산정을 해야 하는 단계에 이르렀다. 일단 먼저 usedGas를 사용하기로 하였다. 개발자 단톡방에 물어봐서 조언을 얻은 결과 1. estimateGas 로 고정 가스비 계산 ( 이 경우는 이더스캔에서 확실하게 확인하였다.) 2. eth_gasPrice API 결과로 얻은 gasPrice 두 값을 곱해서 결제를 올리면 된다는 추천을 받았다. 다만, gasPrice의 값은 네트워크 상황에 따라 달라질 수 있으며, 변동값인건 어쩔 수 없으므로 보수적으로 넉넉히 받을것 또한 고정된 가스비보다 3만 정도를 더 포함시킬 것이 유의사항이다. 3만을 포함시키는 이유는 측정값보다 더 적게 나올 가능성이 있기 때문이며, 사용안된 가스는 반환되므로 큰 상관이 없다. 그리고..
npx hardhat coverage http://www.correccionesweb.com.ar/hardhat_vue/plugins/solidity-coverage.html Ethereum development environment for professionals by Nomic Labs Compile, deploy, test and debug your Ethereum software. Get Solidity stack traces, console.log, mainnet forking and more. www.correccionesweb.com.ar 솔리디티의 테스트 코드 커버리지를 구해야하 하는 상황이다. 일단 이더리움 체인이 아니라서 테스트코드에서 가스비를 지정해주는 부분이 있었는데, 이렇게 가스비..
내일 테스트 환경 배포를 앞두고 최종적으로 관리자 권한 세팅을 수정하다가. Owner를 바꿀때 Pauser나 Signer를 바꾸는 부분을 발견하였다. 이를 테스트하기위해 관리자를 계속해서 바꾸면서 잘못된 관리자도 넣어봤는데 실행이 되고 넘어가고 이상한 곳에서 에러가 났다. 몇시간을 봐도 에러를 찾을 수 없었고 아무리 고민해봐도 답이 안보였다. 하지만 스마트컨트렉트가 잘못될 경우 물어볼 곳 같은건 존재하지 않는다 ㅠㅠ 그래서 일단 배포하고 나서 같은 상황을 만든 후 tenderly를 사용해서 오류의 정확한 원인을 찾아야겠다는 결론에 너무 귀찮았지만 실제로 배포후 테스트해보니 에러가 안났다. 그 이후 테스트 코드에 잘못된 관리자가 보낼 때 예외 처리를 마무리 시키니 오류가 잡히고 정상작동 하였다. Signe..

아래 사이트에서 스마트컨트렉트에 사용된 트랜잭션을 통해 바이트코드가 파악되었으나 해당 바이트 코드가 무엇인지 모를 때 함수의 앞의 4바이트를 통해서 함수의 이름을 알아내는 서비스가 있습니다. 회사에서 CTO님이 알려주셨는데 되게 좋은 서비스 같습니다. https://www.4byte.directory/ 여기서 앞에 함수의 8바이트 코드만 넣으면 알아서 검색이 되는데, 아무래도 자체 DB에 모든 내용을 가져다가 놓고 매칭시켜서 보여주는것 같습니다.

이전 글 목록 프록시 구조 공통 패턴 : https://it-timehacker.tistory.com/256?category=906404 스마트 컨트렉트 프록시 구조 - 기본 구조 학습 코드를 계속해서 분석하다 보니 결국 릴레이어를 사용하는 모델에서는 프록시 구조를 알지 못하고서는 코드를 70%이상 이해하기 어려웠다. 따라서 프록시 구조에 대한 자세한 학습을 하고 이후 it-timehacker.tistory.com 프록시 구조 첫번째 패턴 : https://it-timehacker.tistory.com/257?category=906404 스마트 컨트렉트 프록시 구조 - 첫번째 패턴) Upgradeability using Eternal Storage https://it-timehacker.tistory.c..

이전 글 목록 프록시 구조 공통 패턴 : https://it-timehacker.tistory.com/256?category=906404 스마트 컨트렉트 프록시 구조 - 기본 구조 학습 코드를 계속해서 분석하다 보니 결국 릴레이어를 사용하는 모델에서는 프록시 구조를 알지 못하고서는 코드를 70%이상 이해하기 어려웠다. 따라서 프록시 구조에 대한 자세한 학습을 하고 이후 it-timehacker.tistory.com 프록시 구조 첫번째 패턴 : https://it-timehacker.tistory.com/257?category=906404 스마트 컨트렉트 프록시 구조 - 첫번째 패턴) Upgradeability using Eternal Storage https://it-timehacker.tistory.c..

https://it-timehacker.tistory.com/256?category=906404 스마트 컨트렉트 프록시 구조 - 기본 구조 학습 코드를 계속해서 분석하다 보니 결국 릴레이어를 사용하는 모델에서는 프록시 구조를 알지 못하고서는 코드를 70%이상 이해하기 어려웠다. 따라서 프록시 구조에 대한 자세한 학습을 하고 이후 it-timehacker.tistory.com 해당글은 위 포스팅의 2번째 글입니다. 글쓴이의 유튜브 보러가기 https://www.youtube.com/channel/UCHsRy47P2KlE749oAAjb0Yg 체인의정석 약력 현) 블록체인 개발자 前 블록워터 테크놀로지, 스마트컨트렉트 개발자 前 위데이터랩(주) 기획,마케팅 팀장 , 블록체인팀 선임연구원 홍익대학교 경영학 전공..