솔리디티 언어에 내장되어 있는 변수를 말함. 또한 글로벌 변수는 독특한 세부 데이터를 가짐.
- blockhash(uint blocknumber): 주어진 블록의 해시를 bytes32 형태로 반환.
- coinbase:블록의 채굴자 주소. address 형식.
- gaslimit: 블록의 가스 한도. uint 형식.
- number : 블록의 번호. uint 형식.
- timestamp: 블록 타임스탬프. uint 형식.
- gasleft(): 남아있는 가스의 양을 uint256 형태로 반환합니다.
- data: 전체 콜데이터 본문. bytes 형식.
- sender: 현재 호출을 수행하고 있는 메시지 발신자. address 형식.
- gas: 남은 가스양. uint 형식.
- value: 메시지와 함께 보낸 이더 금액. uint 형식.
- gasprice : 트랜잭션 가스 비용. uint 형식.
- origin: 트랜잭션 발신자. address 형식.
컨트랙트 내부에서 상태 변수를 선언할 때, 해당 상태 변수에 접근할 수 있는 권한을 설정할 수 있다.
접근의 수준은 public, internal, private 3가지가 있다.
- internal (default)
컨트랙트 및 해당 컨트랙트를 상속 받은 컨트랙트만 인터널 상태 변수를 사용할 수 있다.- public
컴파일러가 퍼블릭 상태 변수에 getter 함수를 생성하면, 퍼블릭 상태 변수는 컨트랙트 내에서 직접 퍼블릭 상태 변수를 사용할 수 있고, 외부 컨트랙트나 클라이언트 코드에서도 getter 함수를 통해 퍼블릭 상태 변수에 접근할 수 있음.- private
동일한 컨트랙트 멤버만 프라이빗 상태 변수에 접근할 수 있음.