
앞선 포스트에서 얘기한 대로 https://yourdevelop.tistory.com/3
1. Web3는 무엇인가
WEB3 생태계 - 블록체인을 기반으로한 모든 모델들을 말함 일론 머스크가 블록체인은 실체없는 사기라고 말하며 도지코인사건으로 증명하기도 했고 논란이 많다 1. WEB의 흐름 WEB1.0 - READ ONLY (Ex :
yourdevelop.tistory.com
이더리움으로 개발하는 방법 두 번째인 솔리디티로 스마트 컨트랙트를 개발하는 것이다.

위의 코드는 솔리디티 언어로 작성된 2ETH를 받으면 사람카운트를 해주는 컨트랙트이다.
각 코드의 설명은 아직은 하지 않도록 하겠고 '이렇게 쓰는구나~ '정도만 알면 좋을 듯하다.
1. html 작성
우선 위의 컨트랙트를 보여줄 화면을 구성한다.

나중에 개발자모드로 콘솔을 작성할 것이기에 간단히 작성한다.
여기서 눈 여겨 볼 부분은 web3 라이브러리 사용의 변화이다.
원래는 html과 같은 폴더에 파일을 넣고, 파일 경로를 설정해서 해당 스크립트를 작성하는 것인데,
더 찾아보니까 web3 라이브러리가 버전이 업데이트돼서, 파일 없이고 외부 CDN으로 URL만으로 사용가능하게 되었다.
Remix로 배포후에 코드에 필요한 부분은 'ABI'와 '컨트랙트 주소'이다.
(Provider은 여전히 infura사용)
2. REMIX 배포

해당 코드를 옆에 있는 Compile room.sol하여 컴파일 해준다.(왼쪽에 초록 체크가 된 모습)

Deploy를 하여 배포를 해주고, 아래의 컨트랙트 주소를 복사해준다.
3. 적용

복사한 주소를 붙여넣어준다.

다시 REMIX로 와서 ABI를 복사해준다.
ABI - 스마트 컨트랙트 내에서 어떤 함수를 가지고 어떤 형식의 데이터를 반환하는지 알려주는 것

이제 위의 코드로 MyContract라는 객체가 생성되었고, 이를 실행하면 ABI와 컨트랙트 주소에 맞는 스마트 컨트랙트 함수가 호출될 것이다.
4. 실행

그리고 이제 Console을 사용하기 위해, 개발자 도구를 켜준다. (F12)

그리고 해당 메서드를 불러주면 컨트랙트가 호출되서 데이터가 받아지는 모습이다.
이렇게 웹에서 컨트랙트를 배포를 해보았고, 이제 위의 데이터를 가지고 조작하는 법은 다음에 다루도록 하겠다.
'블록체인' 카테고리의 다른 글
| 2. Web3.js를 사용해보자 (0) | 2023.11.08 |
|---|---|
| 1. Web3는 무엇인가 (2) | 2023.11.08 |
| 0. 블록체인에 대한 고찰 (0) | 2023.11.08 |