| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- cloud hsm 서명
- cloud hsm 사용하기
- 러스트기초
- Vue.js
- vue기초
- redux toolkit 설명
- ambiguous function description
- ethers v6
- erc4337 contract
- 계정추상화
- 체인의정석
- redux 기초
- git rebase
- 컨트렉트 동일한 함수이름 호출
- 스마트컨트렉트 예약어 함수이름 중복
- ethers type
- Vue
- ethers typescript
- 오블완
- 머신러닝기초
- 스마트 컨트렉트 함수이름 중복
- SBT표준
- ethers websocket
- cloud hsm
- 스마트컨트렉트 함수이름 중복 호출
- 러스트 기초
- 티스토리챌린지
- erc4337
- 러스트 기초 학습
- rust 기초
- Today
- Total
목록분류 전체보기 (531)
체인의정석
각종 컨트렉트 + 백엔드까지 합쳐진 복잡한 저장공간 이럴때는 깃허브 관리를 어떻게 해야할까? https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EC%84%9C%EB%B8%8C%EB%AA%A8%EB%93%88 Git - 서브모듈 gitmodules 파일에 있는 URL은 조건에 맞는 사람이면 누구든지 Clone 하고 Fetch 할 수 있도록 접근할 수 있어야 한다. 예를 들어 다른 사람이 Pull을 하는 URL과 라이브러리의 작업을 Push 하는 URL이 서로 git-scm.com 바로 git 서브 모듈을 쓰는 것이다. 일단 서브 모듈을 받아오는 명령어 부터 알아보겠다. git submodule init git submodule update 요걸 해주면 서브 ..
*외부 공개용/강의용이 아닌 개인 공부용입니다. 틀린 내용이 있을 수 있으며 계속해서 수정할 예정입니다. 1. 전체 구조 파악 유저가 직접 상호작용하는 컨트렉트로 컴파운드에서 대출한 증표로 주는 토큰 Cether-> CToken Cerc20 -> CToken Cether => native coin을 의미 Cerc20 => erc20 token을 의미 Cether, Ctoken 모두 내부적으로는 CToken 호출 일단 대부분의 행위에서 이자를 주는 부분이 존재 accrueInterest() CToken은 내부적으로 다시 Compotroller 호출 comptroller에서는 검증 로직이 있어서 호출 시에 검증 진행 Comptroller에서는 Governance나 PriceOracle을 호출하여서 검증 시 ..
sequalize에서 토큰의 데이터 타입을 정의하려면 숫자형을 쓰면 너무 높아서 에러가 난다. 블록 넘버의 경우 그냥 숫자형을 써주면 되지만 토큰의 경우 빅넘버를 쓰는것처럼 따로 처리해주어야 한다. 컨트렉트에서 자료를 조회해오면 그 값을 바로 db에 저장시킬때 데이터 타입을 type: DataTypes.DECIMAL(숫자), 이런식으로 해주면 DECIMAL(숫자,뒤의 자리수)로 해서 소수점이 안 붙은 상태로 큰 숫자를 넣을 수 있다. 실제로 db에 넣을때는 이렇게 wei또는 토큰 최소단위로 넣은 후 나중에 값을 꺼내와서 /e18 을 해주는 식으로 해서 소수점을 맞춰준 상태로 데이터를 리턴해 주면 된다.
json_extract를 이용하여 값을 뽑아낸 후 해당 값을 가지고 계산을 해야하는 경우 스칼라 서브 쿼리를 사용할 수 있다. 스칼라 서브쿼리의 경우에는 상수나 열명을 쓸 수 있는 곳이라면 어디든지 가능하다. 즉 하나의 열이 리턴되면 되면 되는 것이다. 따라서 SUM과 같이 연산을 한 값을 SELECT 문으로 바로 가져오고 싶을 때 사용할 수 있다. SELECT DISTINCT (SELECT SUM(json_extract(event_data,'$.amount'))/1e18 as burned_amount FROM 테이블명 WHERE event_name = "이벤트명") as 칼럼이름1, (SELECT SUM(json_extract(event_data,'$.amount'))/1e18 as minted_amo..
트랜잭션을 조회 한 후 이벤트를 그대로 데이터 베이스에 넣는 경우 object 형태의 값들이 데이터베이스에 들어가게 된다. 이러한 경우 json_extract를 select 문 안에 넣어버리게 된다면 조회가 가능하다. event_data = {from:xxxx, to:xxxxx, value:xxxxxx} SELECT json_extract(event_data, '$.value') as value FROM 테이블명; 이런 식으로 이벤트 데이터가 있다고 했을 때 그대로 넣은 후에 extract를 해준다면 손쉽게 백엔드에 트랜잭션 이벤트에 대한 정보값을 가져와서 계산해 줄 수 있다. 자세한 예제는 아래에서 확인할 수 있었다. https://docs.aws.amazon.com/ko_kr/athena/latest..
순서대로 다뤄보기 1. 조회하고자 하는 컨트렉트와 연동해준다. const testContract = await ethers.getContractAt("컨트렉트이름", "컨트렉트주소"); 2. 조회를 할 설정값을 넣어서 필터링을 해준다. const filter = { address: "컨트렉트 주소", fromBlock: 0, toBlock: 10000000, topics: [testContract.filters."이벤트이름"().topics] //Transfer().topics 이런식으로 활용 }; const logs = await ethers.provider.getLogs(filter); //filter를 적용한 로그 값을 가져온다. 3. logs를 통해 조회가 가능하지만 해당 값들은 디코딩이 되지 않..
1. zplug https://github.com/zplug/zplug GitHub - zplug/zplug: A next-generation plugin manager for zsh :hibiscus: A next-generation plugin manager for zsh - GitHub - zplug/zplug: A next-generation plugin manager for zsh github.com zplug 의 경우 zsh의 여러 플러그인을 쉽게 관리하게 도와준다고 한다. curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh 위를 통해 설치가 가능하..
git pull을 할 때 기본적으로 어떤 전략을 취해야 하는지 설정을 안해주면 아래와 같은 에러가 나게 된다. hint: You have divergent branches and need to specify how to reconcile them. hint: You can do so by running one of the following commands sometime before hint: your next pull: hint: hint: git config pull.rebase false # merge hint: git config pull.rebase true # rebase hint: git config pull.ff only # fast-forward only hint: hint: You ca..