> For the complete documentation index, see [llms.txt](https://whs3-doge5k.gitbook.io/smartcontract-security-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://whs3-doge5k.gitbook.io/smartcontract-security-docs/basics/2./undefined-1.md).

# 솔리디티 기본 문법

- [함수 제어자 (view, pure, payable)](https://whs3-doge5k.gitbook.io/smartcontract-security-docs/basics/2./undefined-1/view-pure-payable.md): 솔리디티 함수는 목적에 따라 특정 제한(제어자, modifier)를 붙일 수 있다.
- [mapping](https://whs3-doge5k.gitbook.io/smartcontract-security-docs/basics/2./undefined-1/mapping.md): mapping은 솔리디티의 기본적인 key-value 저장 방식으로 해시 테이블과 유사하게 작동한다. 특정 키(key)에 대응되는 값을 빠르게 조회할 수 있다.
- [예외처리(require,assert,revert)](https://whs3-doge5k.gitbook.io/smartcontract-security-docs/basics/2./undefined-1/require-assert-revert.md): 스마트 컨트랙트는 신뢰 기반으로 실행되기 때문에, 입력 검증, 상태 유효성, 논리 오류 발생 시 트랜잭션을 즉시 중단시켜야 한다.
- [event와 emit](https://whs3-doge5k.gitbook.io/smartcontract-security-docs/basics/2./undefined-1/event-emit.md)
- [memory vs storage](https://whs3-doge5k.gitbook.io/smartcontract-security-docs/basics/2./undefined-1/memory-vs-storage.md)
