일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컨트렉트 배포 자동화
- rust 기초
- 스마트 컨트렉트 함수이름 중복
- 스마트컨트렉트 예약어 함수이름 중복
- 프록시배포구조
- 스마트컨트렉트테스트
- 스마트컨트렉트프록시
- ethers v6
- ambiguous function description
- git rebase
- ethers type
- 컨트렉트 동일한 함수이름 호출
- ethers
- ethers websocket
- 스마트컨트렉트 함수이름 중복 호출
- Vue.js
- nestjs 튜토리얼
- 러스트 기초
- nest.js설명
- 러스트 기초 학습
- Vue
- 러스트기초
- SBT표준
- multicall
- 머신러닝기초
- ethers typescript
- chainlink 설명
- 깃허브명령어
- 체인의정석
- vue기초
- Today
- Total
목록분류 전체보기 (490)
체인의정석
어떤 행을 수정할 때 키 값으로만 접근하도록 기본값이 설정되어 있는 에러이다.이를 해결하기 위해서는 mysql workbench의 설정값을 바꿔주거나 Settings 먼저 누르고맨 닡에 SafeUpdates를 해제해 주면 된다.아니라면 일회성으로는set sql_safe_updates=0;명령어를 실행시켜 주면 된다.
트랜잭션 실행 전에 먼저 아래와 같이 estimateGas를 쓰면 트랜잭션을 보내기 전에 오류 메세지를 받아올 수 있다.contract.someMethod.estimateGas(arg0, arg2)그런데Error: execution reverted (unknown custom error)이런식으로 에러가 날 수 있다.Error: execution reverted (unknown custom error) (action="estimateGas", data="0xe2517d3f0000000000000000000000001ff0718d46e7d2b30995e52caf83b5f1916a975b2aeb38be3df14d720aeb10a2de6df09b0fb3cd5c5ec256283a22d4593110ca40", r..
패스키는 일반적인 블록체인상의 검증 방식인 ECDSA서명과 다른 서명 로직이 들어가게 된다.계정추상화의 계정추상화는 ECDSA서명을 통한 예제를 지원한다. 하지만 각 유저들이 보유하는 SmartAccount에 P256 서명을 검증하는 로직을 만들어야 계정추상화에 패스키까지 적용할 수 있다.다행히 P256Verifer는 오딧 받은 유명한 공개 라이브러리가 있다. (https://p256.eth.limo/)mport "p256-verifier/P256.sol";bytes32 hash; // message hashuint256 r, s; // signatureuint256 x, y; // public keybool valid = P256.verifySignature(hash, r, s, x, y);해당 라이브..
account abstraction의 기본 예제에서는 getAddress라는 컨트렉트 함수가 있어 ethers.js의 getAddress가 대신 호출되어 오류가 난다. 또한 erc721 기본 예제에서도 함수이름은 동일하나 파라미터 개수만 다른 safeTransferFrom과 같은 함수가 존재한다.이러한 함수들을 그냥 호출하려고 하면"TypeError: ambiguous function description (i.e. matches "safeTransferFrom(address,address,uint256)", "safeTransferFrom(address,address,uint256,bytes)") (argument="key", value="safeTransferFrom", code=INVALID_ARG..
account abstraction의 기본 예제에서는 getAddress라는 컨트렉트 함수가 있어 ethers.js의 getAddress가 대신 호출되어 오류가 난다. 또한 erc721 기본 예제에서도 함수이름은 동일하나 파라미터 개수만 다른 safeTransferFrom과 같은 함수가 존재한다.이러한 함수들을 그냥 호출하려고 하면"TypeError: ambiguous function description (i.e. matches "safeTransferFrom(address,address,uint256)", "safeTransferFrom(address,address,uint256,bytes)") (argument="key", value="safeTransferFrom", code=INVALID_ARG..
source : https://github.com/makerdao/multicall/blob/master/src/Multicall2.solmulticalldefi의 경우 다양한 call을 한번의 화면에서 불러와야 한다. 이런 경우 시간이 오래걸리기 때문에 여러번의 call을 한번에 해주는 multicall이 나오게 되었다.해당 로직은 defi 뿐 만 아니라 다양한 Dapp에서 활용이 될 수 있으며 페이지 로딩 시간을 최소화 시켜 줄 수 있어 중요하다.컨트렉트에 조회 함수를 실행하기 위해서는 target (조회할 컨트렉트 주소)와 callData (call에 대한 실질적인 내용) 2가지가 있으면 조회가 가능하다.해당 정보를 모두 담고 있는 Call을 다음과 같이 구조체로 만들면 컨트렉트에서 직접 call을..
여태까지 로그 관리의 경우 log4.js로 이미 진행중인 백엔드에 온보딩하여 남긴 경험밖에 없었는데, 따로 이벤트 봇을 만들게 되어 여기서 winston으로 로그 관리를 적용하였으며 이에 대한 내용을 정리해 보겠다.1. 사용모듈 및 설정 방법https://www.npmjs.com/package/winston-daily-rotate-file winston-daily-rotate-fileA transport for winston which logs to a rotating file each day.. Latest version: 5.0.0, last published: 7 months ago. Start using winston-daily-rotate-file in your project by running..
요청에 따라 컨트렉트를 작성하고 있었는데, 컨트렉트 내부에서 byte타입을 string으로 변환하려면 바로 형변환이 안되고 오류가 났었다.string만 받는 기본 ERC721의 tokenURI에 bytes를 넣고 함수내부적으로도 가져와서 사용해야 하는 상황이다.이런 경우에는 형변환을 추가적으로 해주어야 하는데 아래 함수를 쓰면 된다. 이건 stack overflow에서 가져왔다.https://ethereum.stackexchange.com/questions/126899/convert-bytes-to-hexadecimal-string-in-solidity Convert bytes to hexadecimal string in solidityIn a smart contract I have stored a by..