> 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/6.-foundry/anvil.md).

# anvil

anvil은 모루라는 의미를 가지고 있고 로컬 EVM 노드이다.

스마트 컨트랙트를 테스트할 샌드박스 환경을 만들 수 있다.

```solidity
$ anvil —fork-url <rpc-url>
```

해당 rpc-url 노드의상태를 나의 localhost:8545 로 복제해온다.

그리고 해당 노드를 사용할 10개의 테스트용 지갑을 생성함.

<figure><img src="https://2462457462-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLf9vwRuaws92ULgGvzTi%2Fuploads%2FS9LfisffGicoHgc1aSP3%2Fimage%20(4).png?alt=media&amp;token=eace051d-1f14-4605-9eb2-12983efdb4fa" alt=""><figcaption></figcaption></figure>

로컬에서 사용할 수 있게 10개의 지갑주소를 주고 여러 기본 설정을 표시해준다.

<figure><img src="https://2462457462-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLf9vwRuaws92ULgGvzTi%2Fuploads%2FMXz9O9UPjojaItZRPuHm%2Fimage%20(5).png?alt=media&amp;token=4bc0b5cc-2f15-4a7e-bc43-7c963789fd06" alt=""><figcaption></figcaption></figure>

외부 네트워크를 복사하여 나의 로컬로 가져온다.

복사한 블록체인 위에서 컨트랙트를 실험해 볼 수 있다.

### &#x20;로컬 vs 테스트넷 vs 메인넷 차이

| 구분               | 특징                      |
| ---------------- | ----------------------- |
| 로컬 (anvil)       | 빠르고 무료, 디버깅에 적합         |
| 테스트넷 (Sepolia 등) | 실제 네트워크와 유사, 공개 트랜잭션 기록 |
| 메인넷              | 실제 자산 배포, 신중하게 진행 필요    |
