일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- rust 기초
- ethers websocket
- 스마트컨트렉트 함수이름 중복 호출
- 러스트 기초 학습
- ethers type
- ambiguous function description
- nest.js설명
- 스마트컨트렉트프록시
- Vue
- 러스트기초
- 러스트 기초
- 머신러닝기초
- ethers
- ethers v6
- 스마트컨트렉트 예약어 함수이름 중복
- 컨트렉트 배포 자동화
- 프록시배포구조
- nestjs 튜토리얼
- git rebase
- 깃허브명령어
- 컨트렉트 동일한 함수이름 호출
- multicall
- chainlink 설명
- 체인의정석
- SBT표준
- 스마트컨트렉트테스트
- vue기초
- 스마트 컨트렉트 함수이름 중복
- ethers typescript
- Vue.js
Archives
- Today
- Total
체인의정석
블록체인 숫자 데이터 처리 Bignumber VS BigInt 본문
728x90
반응형
블록체인에서 숫자 데이터의 경우 자리수가 크기 때문에 문자로 처리되는 경향이 있다.
따라서 해당 문자를 숫자로 다시 바꿔주기 위하여 Bignumber 또는 BigInt를 사용해주어야 한다.
https://stackoverflow.com/questions/65205604/when-should-i-use-the-bignumber-library
여기에 대한 논의는 위에서 찾아볼 수 있었다.
사실 두 방법 모두 상관 없지만 bignumber라는 모듈은 float 형태의 부동소수점 계삭을 지원하고 BigInt는 정수형만 지원을 한다고 한다.
그리고 자바스크립트에서 BigInt의 네이티브 지원이 안되는 오래된 브라우져도 있다고 한다.
모든 브라우져 지원을 위하여서는 BigInt보다는 Bignumber가 유리하다는 것이다.
그리고 마지막으로 30*x 이런식으로 숫자를 곱하여 계산해주는 부분의 경우
x.multiply 이렇게 하는 것이 더 안전하다고 한다.
얼마전 legacy Tx와 새로운 버젼의 트랜잭션간의 차이에서도 bigint관련한 문제로 인하여 과도한 수수료가 나간 적이 있었다.
이러한 점을 돌이켜 보면, 이렇게 bigInt를 사용하는것이 상당히 중요하다는 것을 알 수 있다.
728x90
반응형
'개발 > backend' 카테고리의 다른 글
typescript 모듈 설정 에러 1.default) is not a function (0) | 2021.11.23 |
---|---|
Typescript 3 항 연산자로 조건문 바꾸기 (0) | 2021.11.22 |
Logger와 logger를 사용해야 하는 이유 (0) | 2021.11.17 |
typescript 비동기/동기 처리 (0) | 2021.11.17 |
typescript) typeORM, query Builder, 날짜 검색 구문 쓰기 (0) | 2021.11.15 |
Comments