본문 바로가기
개발 일지/블록체인

S4: Truffle과 openzeppelin, ganache로 배포하기

by StelthPark 2021. 11. 30.

VSCODE와 openzeppelin으로 배포하기

MyNFTs.sol로 nft컨트랙트를 작성 한 뒤 내부 mintNFT를 통해 NFT를 발행하는 코드를

truffle로 컴파일하여 openzeppelin으로 배포하려고 한다.

 

1.initial_migration 을 수정하여 순서대로 contracts폴더안에 든 sol파일이 배포되도록한다.

 

openzeppelin으로 배포하기

트러플 config에서 ganache로 네트워크 이름을 주고 ganache-cli상 host와 port를 적용시킨다.

ganache-cli로 네트워크를 연다. 트러플 옵션중에 --network와 함께 뒤에 쓸 네트워크정보는 트러플 config에서 정보를 추가하고 사용하면 된다.

 

 

다른 터미널을 통해 

truffle migrate --compile-all --network ganache

트러플 config에서 명시한 네트워크 이름으로 배포를 시작하면 truffle로 컴파일하여 배포하게 된다.

 

 

truffle console --network ganache

트러플 명령어로 ganache 네트워크로 접속하여 내가 배포한 컨트랙트에 적용되어있는 함수들을 써본다.

 

instance = await MyNFTs.deployed()
instance.name()
# 'MyNFTs'
instance.symbol()
# 'MNFT'

MyNFTs로 컨트랙트를 만들었으니 instance로 배포된 컨트랙트를 받아 해당 컨트랙트의 함수들을 호출하여 사용한다.

instance.함수이름으로 함수를 실행할수 있다. 새로운 NFT발행은 instance.mintNFT(tokenURI)를 한다.

*NFT를 하나씩 발행할때마다 tokenURI인덱스가 하나씩 순서대로 올라간다.

댓글