일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ethers
- Vue
- ethers websocket
- ethers type
- 컨트렉트 동일한 함수이름 호출
- multicall
- vue기초
- 컨트렉트 배포 자동화
- nest.js설명
- 러스트 기초 학습
- 스마트컨트렉트 예약어 함수이름 중복
- 머신러닝기초
- 러스트 기초
- 스마트컨트렉트테스트
- 러스트기초
- chainlink 설명
- nestjs 튜토리얼
- ethers v6
- ambiguous function description
- rust 기초
- 스마트 컨트렉트 함수이름 중복
- Vue.js
- 스마트컨트렉트 함수이름 중복 호출
- ethers typescript
- 체인의정석
- git rebase
- SBT표준
- 스마트컨트렉트프록시
- 깃허브명령어
- 프록시배포구조
- Today
- Total
목록블록체인/Solidity (68)
체인의정석
이전 글 목록 프록시 구조 공통 패턴 : 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 체인의정석 약력 현) 블록체인 개발자 前 블록워터 테크놀로지, 스마트컨트렉트 개발자 前 위데이터랩(주) 기획,마케팅 팀장 , 블록체인팀 선임연구원 홍익대학교 경영학 전공..
코드를 계속해서 분석하다 보니 결국 릴레이어를 사용하는 모델에서는 프록시 구조를 알지 못하고서는 코드를 70%이상 이해하기 어려웠다. 따라서 프록시 구조에 대한 자세한 학습을 하고 이후에 더 깊은 분석을 해보려고 한다. 학회분들의 조언에 따라 학습은 오픈제플린 및 트러플 등에서 시작해보기로 하엿다. https://blog.openzeppelin.com/proxy-patterns/ Proxy Patterns - OpenZeppelin blog One of the biggest advantages of Ethereum is that every transaction of moving funds, every contract deployed, and every transaction made to a contrac..
코드리뷰 전에는 주소를 받아와서 넣어서 사용하였는데, 반복되는 사용처에는 이런식으로 사용하는 대신 인터페이스를 정의하여 사용하는 것이 더 깔끔하다. 라이브러리를 가져와서 컨트렉트끼리 연결시키는 경우 주소값을 받아와서 라이브러리를 정의한 후 사용하면 된다. IMapping mappingContract; 위와 같이 인터페이스에 해당하는 컨트렉트를 자료형으로 지정한 후 뒤에 변수를 넣으면 되는데, constructor( address mappingContractAddress ) public { mappingContract = IMapping(mappingContractAddress); } 위와 같이 생성자 안에서 주소를 지정하여 인터페이스 객체로 만들어 주면 된다. 이런식으로 만들었을 경우 조회함수와 수정함수..
예전에는 스마트컨트렉트에서 0x00 주소를 체크하여 예외 처리를 안해주면 비어있는 값이 들어왔을 때 그대로 실행시켰기 때문에 꼭 예외 처리를 해줬어야 했다. 하지만 최근 코드에는 이러한 체크가 많이 이루어지지 않는 것을 볼 수 있었다. https://forum.openzeppelin.com/t/removing-address-0x0-checks-from-openzeppelin-contracts/2222 Removing address != 0x0 checks from OpenZeppelin Contracts OpenZeppelin Contracts has quite a strict policy of never allowing zero addresses, by placing checks like require..
서로 다른 체인에서 같은 컨트렉트 주소가 나올 수 있을까? 현재 작성하는 프로그램에서 서로 다른 체인에서 상호작용을 하는데 CA를 키값으로 매핑을 구현하였다. 어차피 중간에 있는 관리 프로그램이 관리를 할 예정이지만 충분히 고려해봐야 할 상황이기 때문에 조사를 해보았다. 일단, 결론부터 말하자면 지갑과 nonce값이 같다면 같은 값이 나올 수 있다는것이 정답이다. 따라서 CA를 여러 다른 체인에서 같이 다룰때는 이를 고려하여 코드를 짜야한다. https://www.reddit.com/r/ethdev/comments/nxcc6r/how_can_contracts_have_the_same_addresses_across/ How can contract's have the same addresses across ..
NomicLabsHardhatPluginError: You are trying to create a contract factory for the contract A, which is abstract and can't be deployed. 위 에러가 나왔다. 이전에도 한참 해맸어서 기억이 나는데 일단 이 경우 봐야 할 점은 1. 상속관계 2. 생성자 위 2 부분중 문제가 생겨서 에러가 발생한다고 보면 된다. 이러한 에러는 1. 컴파일 에러 해결 2. 배포 스크립트 실행 2번에서 발생되는 에러이다. 물론, 어디서 에러가 났는지는 알 방법이 없다. 따라서 나도 여기서 시간을 많이 잡아먹었는데 , 이러한 경우 에러가 나는 부분을 파악하기 위하여 상속해둔 컨트렉트나 새로 만든 함수들 인터페이스 위주로 하나씩 지..