일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ethers type
- 계정추상화
- Vue.js
- 스마트컨트렉트테스트
- 컨트렉트 배포 자동화
- 머신러닝기초
- 오블완
- 스마트컨트렉트 예약어 함수이름 중복
- 스마트 컨트렉트 함수이름 중복
- 러스트 기초
- Vue
- ethers websocket
- 체인의정석
- 러스트 기초 학습
- multicall
- SBT표준
- erc4337 contract
- ethers v6
- erc4337
- ambiguous function description
- 티스토리챌린지
- rust 기초
- 러스트기초
- vue기초
- ethers typescript
- ethers
- chainlink 설명
- git rebase
- 스마트컨트렉트 함수이름 중복 호출
- 컨트렉트 동일한 함수이름 호출
- Today
- Total
체인의정석
nest.js) 예외처리 - 이더리움 주소값인지 확인하고 아닐 시 에러리턴 본문
상황 이더리움 주소값이 틀린 경우 반환하는 에러 상황,
이러한 경우 따로 값을 반환하여야 하나,
class - validtaor를 사용하면 기능이 다 작동하고 마지막에 조건을 검사하는 문제가 생김.
그 결과 성능이 떨어지기 때문에 입력값을 받자마자 검사를 해주고 마지막에 class-validtor를 써서 한번 더 검사해주는것이 맞다.
이 경우 web3를 사용할 수 있다.
하지만 web3를 사용할 경우, 풀노드와 연결을 한번 해야 한다. 풀노드와 연결을 하는 부분은 현재 모듈에 없는데 이것때메 만들기가 좀 그렇다. 성능이 역시 떨어질것 같다. 따라서 db에 있는 16진수 + 42개의 길이를 통하여서 검사를 하였다.
if (address.substr(0, 2) !== '0x' || address.length !== 42) {
const code = RESPONSE_CODE.INVALID_ADDRESS;
const message = RESPONSE_MESSAGE.INVALID_CONTRACT_ADDRESS;
return {
code: code,
message: message,
data: {
address: address,
},
};
사실 더 복잡한 조건검사가 가능하지만 마지막에 검사해주는 부분이 한번 더 들어가기 때문에 이정도로만 해도 문제가 없을것 같다.
How to check for valid contract address using web3?
I am simply trying to avoid the error: Error: invalid address web3 throws this error when the address to a contract is not valid. Is there a way to catch this error ? I am using web3 in a nod...
ethereum.stackexchange.com
저런 조건문 같은 경우 내가 빨리 테스트를 하려면 아래와 같은 codepen에 가서 조건이 잘 맞나 빠르게 테스트 해 볼 수 있다.
https://codepen.io/codeBelt/pen/OVjxJN
CodePen JavaScript Console Template
This pen allows you to use all your favourite console functions right in CodePen: `console.log`, `console.info`, `console.warn`, `console.error`, and `...
codepen.io
'개발 > backend(js,ts)' 카테고리의 다른 글
리팩토링) nest.js 기본 구조 체계화 하기 (0) | 2021.10.26 |
---|---|
TypeORM - query builder/ find 함수로 쿼리기능 구현 (0) | 2021.10.25 |
Nest.js) API 설계를 위한 피드백- 조회기능 (0) | 2021.10.20 |
class-validator) 이더리움 주소, 비트코인 주소 형태 판별하기 (0) | 2021.10.19 |
Nest.js) 구조와 작업순서 총정리 (0) | 2021.10.19 |