HardHat을 사용한 스마트 컨트랙트 배포와 테스트를 cli로 진행해주기 위한 레포지토리
| application | version |
|---|---|
| node.js | v18.16.0 |
| hardhat | v2.17.1 |
git init
git clone https://github.com/SWM-TheDreaming/SUITE_CONTRACT_DEPLOY.git
mkdir contracts
mv .env-mock .env
mkdir controller
mv /controller_mock/contract_writer.js /controller/contract_writer.jsnpm iCREATE DATABASE SUITE_CONTRACT default character set utf8 collate utf8_general_ci;
CREATE TABLE CONTRACT_INFO (
id INT AUTO_INCREMENT PRIMARY KEY,
contract_id INT NOT NULL,
contract_factory_name VARCHAR(255) NOT NULL,
contract_address VARCHAR(255) NOT NULL,
contractABI JSON NOT NULL
);
CREATE USER '<INPUT YOUR DBID>'@'localhost' IDENTIFIED BY '<INPUT YOUR PASSWORD>';
GRANT ALL PRIVILEGES ON *.* TO '<INPUT YOUR DBID>'@'localhost';
FLUSH PRIVILEGES;npx hardhat compile --network <what-you-want>
npx hardhat test
npx hardhat run scripts/deploy.js --network <what-you-want>레포지토리에서 사용된 DB에 저장된 스마트컨트랙트의 주소를 가지고 컨트랙트에 트랜젝션을 날려주는 API 서버에서 활용하자. ( Main Branch )