반응형
오늘은 이더리움(ethereum)위에 프로그래밍 할 수 있는 솔리디티의 함수에 대해서 알아보도록 하겠습니다.
솔리디티의 함수는 아래의 형식을 따릅니다.
function 함수이름(입력파라미터) 옵션 (출력파라미터)
{
함수내용
}
function test(x, y, ..., zn) external returns(a,b, ... an)
{
...
}
함수이름과 입력파라미터의 경우는 다른 언어들과 별반 차이가 없으므로 넘어가도록 하고 옵션쪽을 좀 더 구체적으로 보겠습니다.
옵션은 이함수의 추가적인 정보를 기술합니다. 접근제어, 리턴벨류 등을 말이죠
함수의 가시성(visible)
1. external / public / internal / private
- private : contract 내부에서만 접근 가능합니다.
또한 이름을 명명할때 _를 많이 붙입니다. 위의 예제로 보면 _test가 되겠네요
- internal : contract 내부와 상속된 contract에서 접근이 가능합니다.
외부에서는 접근할 수 없기 때문에 this 로 접근도 불가능합니다.
이름은 private와 동일한 느낌으로 _를 붙여주시면 됩니다.
- public : 모든 방법으로 접근할 수 있습니다. 외부 contract에서도 접근할 수 있습니다.
- external : 다른 contract와 transaction으로만 호출 될 수 있습니다. 내부호출은 불가능합니다.
// external 예제
function getter() external returns(a)
{
return a;
}
// local function 예제
function _local(uint a, uint b) internal
{
assert(a == b);
}
간단히 예제를 써봤습니다.
감사합니다.
반응형
'기타 > 블록체인' 카테고리의 다른 글
[Ethereum]Ethereum의 Transaction 처리 Life Cycle 분석 (0) | 2019.08.23 |
---|---|
[ethereum] Smart Contract(Lottery 시스템)과 통신해보기 - basic (2) | 2019.08.21 |
[ethereum]ethereum과 통신해보기 (0) | 2019.08.12 |
Smart Contract(Lottery 시스템) 제작 _ 쉽게 수정 예정 (0) | 2019.08.08 |
[ethereum] Ethereum 설치(truffle / ganache-cli) 및 실행 (1) | 2019.07.25 |
댓글