일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 기초
- 프록시배포구조
- SBT표준
- 스마트컨트렉트프록시
- vue기초
- 러스트 기초
- 러스트기초
- 컨트렉트 배포 자동화
- Vue.js
- multicall
- 체인의정석
- 스마트컨트렉트 예약어 함수이름 중복
- nestjs 튜토리얼
- 스마트컨트렉트테스트
- chainlink 설명
- Vue
- 스마트컨트렉트 함수이름 중복 호출
- ethers
- 러스트 기초 학습
- 스마트 컨트렉트 함수이름 중복
- 깃허브명령어
- ambiguous function description
- ethers type
- ethers websocket
- ethers v6
- git rebase
- 컨트렉트 동일한 함수이름 호출
- 머신러닝기초
- ethers typescript
- nest.js설명
- Today
- Total
목록전체 글 (488)
체인의정석
패스키는 일반적인 블록체인상의 검증 방식인 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..
이번에 서명 검증 로직을 구현하면서 오랜만에 활용 및 정리를 해봤다.기본 예제 학습일단 아래 예제가 검증 로직을 이해하기에 정말 편리하고 코드도 직관적이다.https://solidity-by-example.org/signature/ Solidity by Example solidity-by-example.org// SPDX-License-Identifier: MITpragma solidity ^0.8.24;/* Signature VerificationHow to Sign and Verify# Signing1. Create message to sign2. Hash the message3. Sign the hash (off chain, keep your private key secret)# Verify1. R..
영지식 증명에서 요즘 포세이돈 해시를 많이 쓴다고 한다. 따라서 기초적인 해당 해시를 실습해 보았다.SHA-256: 전통적인 암호화 해시 함수로, 매우 높은 보안을 제공하며 주로 디지털 서명 및 블록체인에서 사용됩니다.Keccak-256 (SHA-3): SHA-2의 대안으로 개발된 해시 함수로, 스폰지 구조를 사용하여 다양한 입력 길이에 유연하게 대응할 수 있습니다.Poseidon Hash: 영지식 증명(ZK-SNARKs/ZK-STARKs)과 같은 최신 암호화 응용에서 사용하기 위해 설계된 해시 함수로, 효율성과 최적화를 중시합니다..cricum에서도 포세이돈 해시에 대한 구현체가 공개되어 있는데 아래 npm을 설치하면 된다.{ "dependencies": { "circomlib": "^2.0.5..