1. 개요
요즘 회사에서 블록체인을 개발하고 있는데 (Solidity 아님. 블록체인 관련 백엔드 개발..!) 블록체인을 접해보니 흥미가 생겨 집에서도 Besu Network를 구축하여 간단하게 개발하고 싶어서 포스팅하게 됐다! 두서 없지만.. 잘 봐주길 바란다!
(설치 방법은 다른 블로그에도 충분히 잘 설명해주신 분들이 많으니, 참고!)
2. 환경세팅
2-1. Docker
블록체인 네트워크를 구성하기 위해선 Docker 환경에서 진행해야한다고 한다. 그 이유는 Besu 블록체인 노드를 손쉽게 실행하고 네트워크를 관리하기 위해 사용한다.
Besu는 컨테이너화된 형태로 제공되기 때문에, Docker를 통해 네트워크를 빠르게 설정하고 관리할 수 있다. 우선 Docker Desktop / Docker-Compose를 설치했다.
2-2. Node.js
그 다음은 Node.js를 설치했다. Web3js를 사용하기 위해서인가..? 찾아보니, 스마트 컨트랙트 개발 및 배포를 위한 'Hardhat'을 사용하기 위해 설치한다. 'Hardhat'은 JavaScript 기반이다.
2-3. Hardhat
스마트 계약 개발 및 배포를 위한 프레임워크이다.
Ethereum 기반의 스마트 계약을 작성, 테스트, 디버깅, 배포하는 데 최적화된 프레임워크이다.
Hardhat을 통해 Besu 네트워크와 상호작용하며 스마트 계약을 배포하거나 테스트할 수 있다.
만들고자 하는 프로젝트 폴더에 아래의 명령어를 입력한다.

# npm install --save-dev hardhat
그 후, 해당 프로젝트 폴더에서 다시 아래의 명령어를 입력한다.
# npx hardhat init

그 후에 Y/N으로 묻는게 있는데, 프로젝트 설정인듯하다. (~ add .git ignore? 이런 거 묻는거 보니..ㅎ)

모든 명령어가 정상적으로 수행되면 이런식으로 프로젝트가 생성된다.
마지막으로 아래 명령어 입력 후 Hardhat 프로젝트가 정상 빌드되었는지 확인하자
# npx hardhat

위와 같이 뜨면 정상적으로 빌드 된 것이다.
2-4. cURL Command Line
Besu 네트워크와 HTTP 기반의 JSON-RPC API로 통신하기 위해 필요한 도구이다.
Besu는 JSON-RPC 인터페이스를 통해 블록체인과 상호작용한다.
긴 글 읽어주셔서 감사합니다! 혼자 공부하는 내용이다보니 틀린 부분이 있거나 미흡한 부분이 있다면 언제든 댓글 부탁드립니다!