일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- SCN
- 앵커링
- 서비스체인
- kas
- 클레이튼
- web3.js
- 프론트엔드
- API
- 솔리디티
- nodejs
- Klaytn API Service
- ethereum
- web3
- 접근제어자
- javascript
- vue.js
- blockchain
- 블록체인
- Klaytn
- 제어자
- 프레임워크
- geth구현
- Geth
- Web
- 웹
- Solidity
- 블록체인 구조와 이론
- frontend
- 이더리움
- vue
Archives
- Today
- Total
BloCCat
solidity 기초(2) 본문
1. 함수 선언
function eatHamburgers(string _name, uint _amount) {
}
parameter명은 _를 붙이는 것이 관습
2. public / private
solidity에서 함수는 기본적으로 public으로 선언됨.
다만 함수는 기본적으로 private로 선언하고 공개할 수 있는 함수만 public으로 선언할 것.
uint[] numbers;
function _addToArray(uint _number) private {
numbers.push(_number);
}
3. 함수의 반환값 타입 지정
string greeting = "What's up dog";
function sayHello() public returns (string) {
return greeting;
}
4. 함수 제어자 ( view / pure)
- view : 함수가 데이터를 보기만하고 변경하지 않을 때 사용
function sayHello() public view returns (string) {
- pure : 함수가 앱에서 어떤 데이터도 접근하지 않을 때 사용
function _multiply(uint a, uint b) private pure returns (uint) {
return a * b;
}
5. Keccak256
*이더리움은 기본적으로 sha3의 한 버전인 keccak256함수를 내장 해시 함수로 가지고 있는다.
입력값을 string 타입으로 받으며 이를 16진수 해시값으로 매핑하여 출력함
//6e91ec6b618bb462a4a6ee5aa2cb0e9cf30f7a052bb467b0ba58b8748c00d2e5
keccak256("aaaab");
//b1f078126895a1424524de5321b339ab00408010b7cf0e6ed451514981e58aa9
keccak256("aaaac");
6. 이벤트
- 컨트랙트가 블록체인상에서 앱의 사용자 단에서 무언가 액션이 발생했을 때 의사소통 하는 방법
event IntegersAdded(uint x, uint y, uint result);
function add(uint _x, uint _y) public {
uint result = _x + _y;
// 이벤트를 실행하여 앱에게 add 함수가 실행되었음을 알린다:
IntegersAdded(_x, _y, result);
return result;
}
//앱단
YourContract.IntegersAdded(function(error, result) {
// 결과와 관련된 행동을 취한다
})
'Study > Solidity' 카테고리의 다른 글
효율적인 Contract 작성법 (1) (0) | 2021.08.29 |
---|---|
Ownable.sol (0) | 2021.08.29 |
solidity 기초 (3) (0) | 2021.08.29 |
solidity 기초 (1) (0) | 2021.08.29 |
Soilidity란? (0) | 2021.08.29 |