블록체인 기반 애플리케이션에서는 신뢰(규칙으로 표현되는)를 위반하는 트랜잭션을 되돌리거나 중단시켜 허가 받지 않은 트랜잭션이 블록체인의 변조 불가능 장부에 포함되는 것을 방지해야 한다. 솔라디티는 이러한 신뢰 요구 조건을 다를 여러 가지 언어적 기능과 함수를 제공한다. 언어적 기능 modifier 확인(verify)해야 할 접근 통제 규칙을 명시하고...
solidity는 4개의 저장 영역(데이터 위치)으로 나누어져 있다. 데이터 위치는 변수가 할당되는 방식을 변경하기 때문에 중요하다. storage memory calldata stack storage 대부분의 변수 및 함수들이 저장되는 저장 영역이다. 지속되고 블록에 보관되기 때문에 가스 비용이 비싸다. struct 데이터 구조의 경우 ...
event 객체 블록체인의 트랜잭션이 완료되면, 트랜잭션은 그에 대한 일종의 영수증을 발행한다. 이러한 트랜잭션 영수증은 트랜잭션의 실행 동안 발생했던 행위에 관련된 정보들을 제공하는 로그 엔트리(log entry)들을 갖는다. 이벤트는 이러한 로그를 만들기 위해 사용하는 솔리디티의 고수준 객체이다. 이벤트는 특히 Dapp들에 유용한데, 특정한 이벤트가...
tx.origin
fallback 함수는 무기명 함수 즉, 이름이 없는 함수이며 컨트랙트에서 하나의 디폴트 함수와 같다.
solidity는 0.6.0 버전 이후로 fallback 함수가 receive와 fallback으로 나뉘어졌다.
call()은 address 데이터 타입 내에 존재하는 메서드로 다른 컨트랙트와 상호작용하는 저수준(low lever) 함수다. call()를 이용해 송금을 하거나 다른 스마트 컨트랙트의 함수를 호출할 수 있다.
Solidity Comment and NatSpec format