| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 체인의정석
- SBT표준
- erc4337
- ethers websocket
- Vue
- git rebase
- cloud hsm 서명
- ambiguous function description
- vue기초
- 티스토리챌린지
- 러스트기초
- 머신러닝기초
- 러스트 기초
- redux 기초
- ethers v6
- 러스트 기초 학습
- erc4337 contract
- rust 기초
- 스마트 컨트렉트 함수이름 중복
- 컨트렉트 동일한 함수이름 호출
- ethers typescript
- 스마트컨트렉트 예약어 함수이름 중복
- 계정추상화
- redux toolkit 설명
- Vue.js
- ethers type
- Today
- Total
목록분류 전체보기 (529)
체인의정석
블록체인의 연산 처리를 빠르게 하기 위해서는 적재적소에 동기처리와 비동기 처리를 섞어서 잘 써주는 것이 중요하다. 이 경우 Promise.all과 Promise.resolve를 잘 써주면 해결이 가능하다. Promise.all Promise.all은 내부의 함수를 비동기화 하여 모두 호출시켜준다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/all Promise.all() - JavaScript | MDN Promise.all() 메서드는 순회 가능한 객체에 주어진 모든 프로미스가 이행한 후, 혹은 프로미스가 주어지지 않았을 때 이행하는 Promise를 반환합니다. 주어진 프로미스 중 하나가 거부..
만약 자체 서비스에서 대량의 데이터를 가져와서 처리해 주는 서비스라면 또는 이더스캔과 같은 서비스를 만든다면 최초의 어느 시점에서는 블록체인 노드에 직접 접근하여 트랜잭션을 가져와야 한다. 이 과정에서 여러 함수를 사용할 수 있는데 각 상황에 따라 사용하면 좋은 함수가 갈린다. getTransaction web3.eth.getTransaction('0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b§234') .then(console.log); > { "hash": "0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b", "nonce": 2, "blockHash": "0..
여기 블록체인 트랜잭션을 가져오면서 더 빠른 속도로 가져오기 위해 chatGPT로 최적화를 시켜 다듬은 코드 5개가 있다. 이런 식으로 파일을 여러개 만들어두고 어느게 가장 빠른지 알려면 어떻게 해야 할까? 일단 각 함수를 모듈화 해준 후에 이를 가져오는 작업을 하고 해당 모듈의 함수에 같은 입력값을 넣은 후 초당 몇번씩 실행이 가능한지 보면 될 것이다. const Benchmark = require('benchmark'); // const batchGetRecentBlockInfo1 = require('./localscan'); const batchGetRecentBlockInfo2 = require('./localscanGPT'); const batchGetRecentBlockInfo4 = requi..
젠킨스 설치방법 젠킨스 : 젠킨스란? CI/CD를 자동화 시켜주고 프로세스를 관리시켜 주는 툴로 현재 회사에서 CI/CD 및 cron job을 더 정확히 하기 위해 공부를 시작하였다. 젠킨스는 하나의 서버라고 한다. 따라서 기존 프로젝트에 이를 합치려고 하는 경우 추가적으로 배포를 해주면 되는것 같다. 현재 도커를 활용하여 서비스를 배포 중이였기 때문에 다음과 같은 프로세스로 초기 설정을 진행하였다. https://www.jenkins.io/download/lts/macos/ macOS Installers for Jenkins LTS macOS Installers for Jenkins LTS Homebrew Installer Jenkins can be installed using the Homebrew ..
복잡한 에러로그 디렉토리에서 압축 파일을 푸는 방법은 다른 디렉터리에서 복사해서 보는 방법이 있는데 먼저 다른곳에 복사하고 나서 푸는 것이다. cp 파일명.txt /경로/새로움파일명.txt 이런식으로 하면 새로운 경로에 파일을 다른 이름으로 복사할 수 있다. 그러나 이 경우 저장공간을 차지하게 되고 번거러운데 단순 조회용이라면 ? 압축을 풀지 않고도 zCat을 사용하면 볼 수 있다고 한다. zCat 파일명.gz 여기서 로그를 확인할 수 있었다. https://syuda.tistory.com/95 [AIX] 압축 풀지 않고 파일 확인하기, 특정파일만 압축 풀기 안녕하세요. 슈다 입니다. 사이즈가 큰 파일을 compress 명령으로 압축하여 보관하고 있는 경우 파일 내용을 확인하려면 uncompress 명령..
사용방법 Chat GPT의 질문의 경우 일단 영어로 하는 것이 좋다. 또한 입력값 예시를 들어주면 더 완성도가 높다. 답변을 한번에 얻어내려 하지 말고 기본적인걸 시키고 결과를 보고 내가 원하는 방향으로 유도한다. 어느정도 유도가 되어서 바로 편집이 가능해지는 순간 답변의 코드를 바탕으로 수정해서 내가 사용하면된다. 내 질문 write javascript code with compare two array and merge which have different type of key object 챗 GPT 답변 Assuming you have two arrays of objects with different keys, and you want to merge them based on a shared ident..
먼저 FROM 2개의 테이블을 합칠 때는 JOIN을 사용해야 한다. select * from 테이블1 AS 별명1 INNER JOIN 테이블명2 AS 별명2 ON 테이블1.block_number = 테이블명2.block_number where 조건; 이런 식으로 가져오고자 하는 테이블 2개를 선택한 후에 기준점으로 잡을 열을 ON으로 두고 where 조건을 걸면 된다. 이를 기본으로 하여 여러 테이블에서 합산한 값을 바탕으로 여러 조건을 필터링 하여 결과 값을 내는 경우 아래와 같이 낼 수 있다. SELECT MAX(row1) as 별명1, rowB as 별명2 FROM ( SELECT row1, row2 FROM 테이블1 UNION ALL SELECT row1, row2 FROM 테이블2 ) AS 테이..
컨트렉트와 개발할 때는 총 3가지의 단계가 존재한다. 1. DB의 SQL 2. 백엔드의 데이터 처리 3. 스마트컨트렉트의 데이터 처리 무언가 작업을 하거나 계산할 때 1,2,3의 처리를 우리는 모두 다 해주어야 한다. 상황에 따라 다르지만 컨트렉트에서의 처리는 최대한 줄여주고 그 다음으로 백엔드의 처리를 최대한 줄여주고 최대한의 작업을 SQL에서 작업해야 빠른 처리가 가능하다. 1 -> 2의 호출회수를 줄이고 2 -> 3의 호출 회수를 줄이는 것이 우선순위이다. 데이터베이스에서 자료를 가져오면서 복잡한 쿼리를 작성하여 정리해 두고자한다. STEP 1.) 여러 테이블에서 조회를 같이 해와서 최대로 큰 블록을 가져오는 경우의 쿼리는 다음과 같이 작성한다. 먼저 FROM 안에 SELECT를 넣을 때는 AS A..