| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 러스트 기초 학습
- erc4337
- Vue.js
- redux 기초
- cloud hsm 서명
- 오블완
- ambiguous function description
- 체인의정석
- ethers type
- erc4337 contract
- 컨트렉트 동일한 함수이름 호출
- 스마트 컨트렉트 함수이름 중복
- Vue
- 러스트기초
- git rebase
- redux toolkit 설명
- ethers v6
- 티스토리챌린지
- cloud hsm
- 계정추상화
- cloud hsm 사용하기
- SBT표준
- ethers websocket
- ethers typescript
- 스마트컨트렉트 함수이름 중복 호출
- vue기초
- 스마트컨트렉트 예약어 함수이름 중복
- rust 기초
- 머신러닝기초
- 러스트 기초
- Today
- Total
목록전체 글 (531)
체인의정석
테스트 코드 작성 이후 실제 메인네트워크에서 잘 작동하나 확인을 하기 위해서 따로 스크립트를 만들어야 했다. 일단 내가 사용하는 환경은 체인별로 설정 값이 다르니 hardhat에서 단위 테스트와 시나리오 테스트를 맞추었다 하더라도 실제로 트랜잭션을 보내보고 검토하는 과정이 필요하다. 근데 EIP712를 테스트하는 과정에서 원래는 메타마스크에서 서명 정보를 받은 후 DB에 저장하는 부분이 있는데 DB를 넣고 테스트 할 수 없으니, struct를 만드는 부분은 helper로 타입을 지정하여 따로 구현을 하였다. 이런식으로 지정해 두면 makeOrder(구조체 내용)을 넣고 스크립트를 돌릴 수 있다. structHelper.ts export enum Type { A1, A2, } export type Stru..
bignumber의 경우 테스트 코드를 할 때 적용해주어야 한다. 특히 소수점 처리를 다루는 컨트렉트의 경우 정확한 예측치를 바탕으로 테스트를 하기 위해서는 decimal 을 적용시켜서 테스트 코드레벨에서 먼저 시나리오 테스트를 하는게 필요하다. 하지만 ethers로 하는 경우 잘 정리되어 있는 글이 별로 없어 따로 정리를 하였다. 먼저 decimal을 적용할 경우 ethers의 parsUnits을 사용한다. decimal이 적용되기 전의 숫자를 number라고 정의해 놓고 이를 문자열로 바꾼 후 뒤에 붙이고 싶은 0 만큼, 여기선 일반적인 케이스인 decimal이 18인 경우이니 18만큼을 넣어준다. ethers.utils.parseUnits(number.toString(), 18) 이러면 Bignum..
먼저 approve를 무한대로 해주는 infiniteApprove의 경우 https://ethereum.stackexchange.com/questions/86928/does-the-approve-function-on-an-erc20-token-need-to-be-run-once-or-before-every Does the approve function on an ERC20 token need to be run once or before every relevant transaction? I understand that an ERC20's approve() function has to be run before the token can be sent to another contract. But is this ..
https://www.reddit.com/r/ethdev/comments/v2d972/how_to_calculate_percentage_in_solidity_80/ How to calculate percentage in Solidity ^8.0? Hi there, I read a lot of posts regarding this and before the Solidity version 8.0 it seems that would be very complicated to calculate... www.reddit.com 스마트 컨트렉트에서는 소수점 계산이 이루어지지 않는다. 따라서 특정 배수를 곱한 후 계산이 진행되게 되는데 uint256 z = x / 10000 * 1500; 이런 식으로 계산이 이루어진다..
일단 해당 게시글은 hashStruct안에 UUID를 넣고 싶은 상황에서 오류가 나서 해결하기 위해 고민한 결과를 담고 있다. 먼저 테스트를 위해서 UUID를 만들어야 했다. 그 부분은 https://it-timehacker.tistory.com/317?category=1006911 typescript로 UUID 만들기 오더북에 들어갈 각 정보를 임의로 넣기 위해서 UUID를 자동으로 생성해주는 모듈을 찾아서 써보기로 하였다. https://www.uuidgenerator.net/dev-corner/typescript Generate a UUID in TypeScript Generate a UU.. it-timehacker.tistory.com 여기를 보면 알 수 있다. 그 다음 차례는 string 자료..
오더북에 들어갈 각 정보를 임의로 넣기 위해서 UUID를 자동으로 생성해주는 모듈을 찾아서 써보기로 하였다. https://www.uuidgenerator.net/dev-corner/typescript Generate a UUID in TypeScript Generate a UUID in TypeScript TypeScript is a programming language that is a JavaScript superset. TypeScript code is transpiled to JavaScript so that it runs with standard JavaScript engines.TypeScript was first developed by Microsoft and then released pu..
오늘은 그간 삽질했던 EIP712에 대한 구현 내용을 러프하게 한번 정리하고 넘어가려고 한다. 해당 내용은 추후 출간할 책 및 미디엄 글을 통해 더 디테일 하게 설명할 예정이다. https://eips.ethereum.org/EIPS/eip-712 EIP-712: Ethereum typed structured data hashing and signing eips.ethereum.org 오픈씨로 대표되는 NFT 거래소와 같이 오더북을 만들고 나서 그걸 스마트컨트렉트에서 검증하고 교환해주는 방식을 요즘 Web2.5라고도 부르는거 같다 뭔가 오프체인이 섞여있어서 이런 용어를 만든거 같긴한데 아무튼 이런곳에 많이 쓰이는데 왜이렇게 소수점 찍는걸 좋아할까? ㅋㅋㅋ 아무튼 이러한 오더북을 만들때 쓰이는 서명은 아래..
// 사용자 정의 타입 operation 정의 // 타입 별칭(Type Alias) type operation = { data: number[], output:(num:number)=>number[] }; // 사용자 정의 타입 operation 적용 예시 let sum:operation = { data: [10, 30, 60], output(num){ return this.data.map(n=>n+num); } }; let multiply:operation = { data: [110, 230, 870, 231], output(num){ return this.data.map(n=>n*num); } }; https://yamoo9.gitbook.io/typescript/types/custom 사용자 정의 ..