일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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표준
- 러스트 기초 학습
- ethers typescript
- 러스트기초
- chainlink 설명
- Vue.js
- multicall
- ambiguous function description
- 스마트컨트렉트 함수이름 중복 호출
- vue기초
- ethers
- 스마트 컨트렉트 함수이름 중복
- erc4337 contract
- erc4337
- 머신러닝기초
- 오블완
- rust 기초
- ethers websocket
- 컨트렉트 배포 자동화
- git rebase
- 티스토리챌린지
- 계정추상화
- 스마트컨트렉트테스트
- Vue
- 러스트 기초
- ethers type
- 체인의정석
- 스마트컨트렉트 예약어 함수이름 중복
- ethers v6
- 컨트렉트 동일한 함수이름 호출
- Today
- Total
목록블록체인 (225)
체인의정석
이번에 서명 검증 로직을 구현하면서 오랜만에 활용 및 정리를 해봤다.기본 예제 학습일단 아래 예제가 검증 로직을 이해하기에 정말 편리하고 코드도 직관적이다.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..
영지식 증명에서 많이 쓰이는 최신화된 라이브러리는 circum이라고 한다.논문에 쓰고 싶어서 찾아보고 있는데 기초 예제부터 진행한 내용을 여기에 작성하려고 한다.https://docs.circom.io/getting-started/installation/ Installation - Circom 2 Documentation⚠ Important deprecation note The old circom compiler written in Javascript will be frozen, but it can still be downloaded from the old circom repository. Installing dependencies You need several dependencies in your sy..
0. Open zepplin wizard총 3개의 컨트렉트가 필요하다.- 오픈제플린 위자드에서 보면 DAO 중 ERC20토큰 중 ERC20 Vote (이건 투표용 토큰이 된다)- DAO코드 내부의 TimelockController가 이용할 TimelockController (이건 트레져리가 된다.)- 위 2개의 설정을 이어받은 DAO (이게 DAO 컨트렉트이다.)모두 코드들이 제공되기 때문에 쉽게 구할 수 있다.https://wizard.openzeppelin.com/#erc20 OpenZeppelin Contracts WizardAn interactive smart contract generator based on OpenZeppelin Contracts.wizard.openzeppelin.com참고..
만약 hardhat toolbox를 사용한다면 굳이 외부 라이브러리를 설치할 필요가 없다.https://hardhat.org/hardhat-runner/docs/guides/test-contracts Hardhat | Ethereum development environment for professionals by Nomic FoundationHardhat is an Ethereum development environment. Compile your contracts and run them on a development network. Get Solidity stack traces, console.log and more.hardhat.org이미 하드햇 툴박스에 있기 때문이다.하드햇 툴박스에는 테스트 실행을..
크로스체인 트랜잭션 실행 로직을 만들 때 만든 코드 중 다시 사용할 만한 코드만 뽑아서 기록해둔다. 해당 로직은 Ethers v6 버전으로 진행하였다.A. Ethers & WebSocket 사용하여 이벤트 구독하기A-1. ping, pong 을 통해 커넥션 살리기이벤트 구독이 일시적으로 되더라도 계속해서 ws 구독을 유지시키려면 다음과 같이 체크 로직을 만들어서 돌려주어야 한다.const { ethers } = require("ethers");const ResilientWebsocket = async (url) => { const EXPECTED_PONG_BACK = 15000; const KEEP_ALIVE_CHECK_INTERVAL = 30 * 1000; //7500; const de..
이벤트 구독 로직의 경우 실제 테스트 환경까지 통과하더라도 이벤트 구독 로직을 오래 켜두면 RPC 엔드포인트 관련 문제가 발생할 수 있다. 이에 따른 대안은 2가지이다.1. 웹소켓을 쓰고 ping, pong로직 구현 (웹소켓을 쓰는것이 좋다고는 하지만 웹소켓을 써봤자 지속적으로 살려주는 ping, pong 로직을 구현해주고 체크 또한 지속적으로 해주어야 한다.) 2. http 통신을 쓰고 문제가 생길때마다 재시작 1. 가장 좋은 케이스는 문제 없는 URC URL이 제공되며 풀 아카이브 노드 형태로 제공되는 형태 이 경우 일반적인 구독을 사용하더라도 문제가 없다. 이러한 경우 아래와 같이 사용하면 끝난다. Contract.on("ReceiveMessage", async (...args) => { ..
1. create, create2, create3 차이점https://blog.solichain.com/the-ultimate-guide-to-create-create2-and-create3-cc6fe71c6d40 The Ultimate Guide to create, create2 and create3Exploring Ethereum’s ‘create’, ‘create2’ EVM opcodes & ‘create3’ library: Deployment tools for the modern smart contract developer.blog.solichain.com일반적인 배포는 create, 미리 생성된 주소를 알 수 있는 것은 create2, 다중 체인 배포시에 동일한 주소로 활용가능한 것은 creat..