일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- rust 기초
- ethers type
- erc4337
- 오블완
- ambiguous function description
- 러스트기초
- vue기초
- 러스트 기초
- ethers v6
- 체인의정석
- 러스트 기초 학습
- 컨트렉트 동일한 함수이름 호출
- erc4337 contract
- 머신러닝기초
- ethers
- redux toolkit 설명
- 티스토리챌린지
- ethers typescript
- Vue.js
- SBT표준
- Vue
- 계정추상화
- multicall
- ethers websocket
- chainlink 설명
- 스마트 컨트렉트 함수이름 중복
- redux 기초
- 스마트컨트렉트 예약어 함수이름 중복
- git rebase
- 스마트컨트렉트 함수이름 중복 호출
- Today
- Total
목록분류 전체보기 (523)
체인의정석
Indexed DB의 경우 기존의 Local Storage, Session Storage와 같은 Web storage와 비슷하지만 저장해야 하는 데이터의 양이 커질 때는 IndexedDB를 사용한다. 내가 만든 프론트의 경우 메타마스크 기반의 서명 + 세션 스토리지를 사용한 JWT발급 관리를 했었는데내가 새로 인수받는 코드의 경우에는 JWT관리에 있어서 IndexedDB라는 것을 사용하고 있었다.IndexedDB 란?웹 표준 인터페이스의 하나로 색인이 포함된 JSON 객체가 모여있는 트랜잭셔널 로컬 데이터베이스이며, 이를 이용해 웹사이트는 데이터베이스에서 영속적인 데이터를 모아서 저장한다. Index dbsms Transaction Model을 따르기 때문에 모든 변경은 Transaction안에서 일어나..
ThunkTunk는 지연된 작업을 수행하는 코드를 의미하는 프로그래밍 용어.지금 로직을 실행하는 대신 나중에 해당 작업을 수행하는 데 사용할 수 있는 함수 본문이나 코드를 작성 할 수 있다.Redux의 경우 Thunk는 Redux 스토어 및 dispatch, get state메서드와 상호 작용할 수 있는 논리를 내장한 함수를 작성하는 패턴 만약 redux 앱에서 비동기 로직을 작성하게 된다면 thunk를 사용하는 것이 표준이다. (동기에서도 사용가능하긴 함)const thunkFunction = (dispatch, getState) => { // logic here that can dispatch actions or read state}store.dispatch(thunkFunction)thunk 함수..

createEntitiy Adapter의 경우 미리 준비된 reducer (함수들)을 탑재하고 있는 객체이다.addOne / addMany: add new items to the stateupsertOne / upsertMany: add new items or update existing onesupdateOne / updateMany: update existing items by supplying partial valuesremoveOne / removeMany: remove items based on IDssetAll: replace all existing items위와 같이 state를 바꿔 줄 수 있는 reducers들을 내장하고 있다.https://ko.redux.js.org/tutorials/..

Redux 구조Redux는 데이터가 한 방향으로만 흐르는 flux 아키텍처에 따라 설계되었다.Store : Redux에서 모든 Store라 불리는 객체 안에 저장 됨Action, Dispatch : Redux에서는 Action이 일어나면 Dispatch를 하는데 어떤 일이 발생했을 시 Dispatch(송신)을 해서 State를 업데이트 한다.Dispatch된 Action을 받는 부분이 Reducer 이다.Reducer는 현재 State와 받은 Action에 대응해 새로운 State를 반환하는 함수이다.Reducer가 새로운 State를 반환함으로써 Store안의 State가 업데이트 된다.Redux toolkit 기본 예제https://redux.js.org/introduction/getting-sta..

요즘 바이브 코딩이 유행하면서 나도 AI 툴을 사용해서 생산성을 높이려고 노력중이다.매번 기본 설계 이후 예시와 목표등을 천천히 학습시키며 챗지피티랑 클로드를 같이 번갈아 쓰며 코딩중이였는데 이번에 클로드에서 만든 코드가 히트를 치면서 구글 제미나이에서 무료로 배포한 cli 툴이 있다하여 사용했다.https://github.com/google-gemini/gemini-cl GitHub - google-gemini/gemini-cli: An open-source AI agent that brings the power of Gemini directly into your terminal.An open-source AI agent that brings the power of Gemini directly into..

AWS에서 로그 관리를 클라우드 워치에서 할 수도 있다.보통은 그라파나에서 많이 사용한다고 하지만 내가 인계받는 부분은 클라우드 워치로 되어 있었고 AWS를 구성하면서 로그를 클라우드 워치에 맞게 남겨둘 경우 따로 대시보드 같은것도 만들기 편하다. 클라우드 워치에서의 로그는 쿼리문을 상세하게 검색이 가능하기 때문에 로그를 쿼리를 통해 검색할 수 있으며 기본적으로는 최근 시간 별로 검색이 가능하다.Cloud watch의 Log Insights 에서 로그 검색 시 특정 문자열 포함하여 검색하는 경우 다음과 같이 검색이 가능하다.특정 메세지 검색fields @timestamp, @message | filter @message like "오류메세지"최근 로그 25개 검색fields @timestamp, @mes..
Cloud HSM에서 공개키에 대한 값을 받을 때 지갑 주소 형태가 아닌 ec-point 라는 값을 받았다.찾아보니 해당 값에서 공개키를 도출할 때는 상황에 따라 다 다르게 도출을 해야하는것 같다.일단 설정 값 중 "key-length-bytes": 135 라는 문구가 보였는데원래 HSM을 쓰기 전 정석적으로 65바이트의 공개키를 사용하고 이후에 그 공개키를 지갑 주소로 변환하는 형태이다.따라서 135 만큼의 길이가 있다는 것은 특정 부분을 제외하고 공개키를 찾아야 한다는 점이다.📦 정석적인 EC 공개키 길이Ethereum에서 사용하는 secp256k1 곡선 기준:항목 길이 (bytes)0x04 (접두어)1 byteX 좌표32 bytesY 좌표32 bytes합계 (정상 EC_POINT)65 bytes ..
블록체인 지갑 주소의 경우 대소문자 구분이 존재하지만 db상에는 소문자 기준으로 저장하거나 하는등의 특별한 기준이 필요하다.이렇게 만들 경우 api에서 지갑 주소에 공백이 들어오거나 대소문자가 들어오게 되면 자동으로 변환해서 검색해주는 부분이 필요하게 된다.filter["wallet_address"] = bson.M{ "$regex": wallet, "$options": "i",}위와 같이 옵션에 i를 넣게 되면 대소문자 무시를 하게 되기 때문에 지갑 검색에 용이해지게 된다. wallet 문자열을 정규표현식으로 검색하되,"0xAaBb..."와 "0xaabb..."와 같이 대소문자를 구분하지 않고 비교합니다.예: 사용자가 "0xAabb"라고 입력해도, DB에 "0xaabb", "0XAABB" 등..