ethers.js를 이용하여 컨트랙트 호출을 할때 ETIMEOUT 에러가 발생하는 현상이 있다. 나의 경우 주로 provider를 생성한 뒤, 많은 read 요청을 하면 반드시 발생했었다. 스케줄을 걸어놓고 하루 동안 생성된 블록에 대해 약 2분 단위로 데이터를 쿼리
현재 부모님이 살고 있는 본가는 대중교통 이용환경이 좋지 않다. 그래서 집에 내려가게 되면 내가 차가 없기 때문에 터미널까지 매번 마중을 나와주신다. 터미널에서 집으로 가는 길에는 교통량이 많지 않은데 항상 길게 신호가 걸리는 교차로가 있었다. 이번에 오랜만에
직접 데이터가 저장된 slot의 데이터를 쿼리하는 StorageAt Contract를 통한 데이터 쿼리 뭐가 더 빠를까? 사실 jsonrpc는 호출 자체의 성능을 보는데 적합하지 않다. jsonrpc의 경우 실제 작업 수행 시간 외에 커넥션에 대한 작업 시간이 크기
Github RepoRFC894 - A Standard for the Transmission of IP Datagrams over Ethernet Networks
최근 Gossip protocol을 구현하고 있다.Pull 기반으로 구현하고 있기 때문에, 각 노드들은 주기적으로 랜덤한 주변 노드에게 새로운 메세지를 요청해야 한다. 따라서 나는, 새로운 메세지 요청을 받으면 단순히 자신의 새로운 메세지를 전부다 한 메세지에 담아 응
이전 게시글에서 GetTransactionCount(), 즉 Nonce값을 가져오는 메서드를 분석했었다.간단히 다시 한번 보자면s.b.GetPoolNonce(ctx, address)txNoncer라는 구조체의 nonces라는 map에서 address에 대한 nonce값
한동안 typescript로 ethers를 사용하다가 최근에는 ethclient를 사용하여 코드를 작성하다 보니, 트랜잭션에 필요한 account nonce를 얻어오는 getTransactionCount()를 썼다. 그 과정에서 갑자기 궁금증이 생긴 것이, 설마 db에
Dixel Club 에서 진행했던 smart contract community audit에 참가하여 활동한 내역을 나중에 보기 쉽게 정리 해보려 한다. 진행 기간 : 6월 2일 ~ 6월 12일 #1 PR - scripts/deploy: add verifying co
Typescript library for type check in ethereum.ethers.js 에서 타입 체크해주는 것 보고, 이러면 더 낫지 않을까 싶은 생각이 들어 만들어보았다.https://github.com/dbadoy/ether-typecheck
string을 소문자로 바꿔주는 메서드인 ToLower()를 할 때, 애초에 소문자를 넣으면 어떻게 될까? 미리 체크를 해보고 메서드를 호출해야 할까? 결론은 소문자에 ToLower()를 해도 소문자가 리턴된다. (이 글에서는 타깃 string이 ASCII 코드인 경
위와 같은 Rpc API를 호출하면 이더리움 코어 안에 GetTransactionCount() EstimateGas() GetBalane() 이와 같은 메서드가 호출이 되는데, 어느 부분에서 포팅이 되는지 평소에 알 수 가 없던 터라 이번 기회에 한번 알아 본다.
최근에는 배포된 스마트 컨트랙트 event를 구독하여 데이터를 가져오는 로직을 짜고 있다. 그러다 보니, 자연스럽게 event를 어떻게 가져오는지 궁금해져서 알아보았다. [다루는 내용은 geth 기준이며, 다른 클라이언트에서의 동작은 다를 수도 있습니다.] web3,
이더리움 transaction data 디코딩 해주는 웹이 있었는데, 가끔씩 안들어가져서 하나 만들었다. 덤으로 method id 생성하는 기능까지 넣었다.https://dbadoy.github.io/eth-simple-parser
hardhat을 이용해서 smart contarct 테스트를 할 때 사용할만한 라이브러리.hardhat project directory안, contracts/ 에 Solidity 파일을 넣으면, 해당 smart contract에 대한 메소드를 prompts로 제공해준다
외부 패키지를 받을 때, /etc/apt/sources.list 에 url 추가 (add-apt-repository) 할 때 에러가 뜨는 경우,URL을 아무리 봐도 올바른 값이고, 잘못된 것이 없을 때는를 해보자update만 하고 upgrade가 안되어 있어 정상작동
문제 : 위 Example() 이 1번 로직을 수행할 때와 2번 로직을 수행할 때 결과값이 다를까?정답은 다르다 이다.1번 로직 결과 값 : 102번 로직 결과 값 : 20??함수를 실행하며 defer를 만나면 그 때 바로 defer stack에 넣어준다. ( retu
Base64 Base64는 문자를 비트(8비트)로 바꾼 후, 6비트씩 나눠서 다시 표현한다. 예를 들어 abc 라면 ... ASCII 코드값 a(97) b(98) c(99) a 0 1 1 0 0 0 0 1 b 0 1 1 0 0 0 1 0 c 0 1 1 0 0 0
ASCII Amesican Standard Code for Information Interchange 미국에서 정의한 표준 부호체계 ASCII 코드는 데이터 7비트 + 1비트(Parity Bit) 로 구성되어 있다. Parity Bit : 통신 에러 검출을 위해
indy-vdr을 사용하여 실제로 did를 등록하는 예제 코드를 작성해본다.Nym request에 서명을 할 endorser 권한을 갖는 did를 먼저 구해야 한다.Nym request을 보내는 함수 작성추가적으로 getNym 함수 ...main에서는 적절히 genes