일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 러스트 기초
- nest.js설명
- 스마트컨트렉트테스트
- 스마트 컨트렉트 함수이름 중복
- 깃허브명령어
- 체인의정석
- Vue.js
- ethers typescript
- 러스트 기초 학습
- ethers
- multicall
- SBT표준
- 머신러닝기초
- 러스트기초
- 프록시배포구조
- ambiguous function description
- git rebase
- vue기초
- 컨트렉트 배포 자동화
- rust 기초
- nestjs 튜토리얼
- chainlink 설명
- 스마트컨트렉트 예약어 함수이름 중복
- 컨트렉트 동일한 함수이름 호출
- 스마트컨트렉트 함수이름 중복 호출
- ethers v6
- Vue
- ethers type
- ethers websocket
- 스마트컨트렉트프록시
Archives
- Today
- Total
체인의정석
Solidity Bytes vs Bytes32 본문
728x90
반응형
솔리디티 자료형을 다루다 보니 bytes와 bytes32에 대한 혼동이 있어 정리를 하였다.
우선 결과만 말하자면
bytes는 byte[]와 같은 의미를 가진다.
bytes32는 고정길이 배열이기 때문에 컨트렉트 안과 밖 사이의 전달이 가능하다는 점이다.
가변 길이의 배열은 interface나 ABI가 지원을 하지 않기 때문에 사용할 수가 없다.
web3에서 컨트렉트의 전송은 가능하지만 컨트렉트끼리의 전송은 되지 않는다고 보면 된다.
또한 고정이 아닌 가변 길이 베열의 경우 memory를 변수 앞에 넣어주어야 에러가 나지 않는다.
결론
1. 사이즈가 작아도 되는 경우 bytes32 사용
2. 외부호출에 쓰이는 경우 bytes32 사용
3. 사이즈가 큰 경우 byte 사용
728x90
반응형
'블록체인 > Solidity' 카테고리의 다른 글
Comments