Windows에서 Truffle을 실행하는 경우 Truffle이 제대로 실행되지 않도록 하는 몇 가지 이름 충돌이 발생할 수 있습니다. 솔루션에 대한 이름 충돌 해결에 대한 섹션을 참조하십시오.
Truffle 설치하기
다음 명령어를 실행하면 됩니다.
npm install -g truffle
Truffle이 제대로 설치되었는지 확인하려면 truffle version 터미널에 입력하십시오. 오류가 표시되면 npm 모듈이 경로에 추가되었는지 확인하십시오.
프로젝트 생성, 컴파일 및 구성
첫 번째 단계는 Truffle 프로젝트를 만드는 것입니다. 계정 간에 전송할 수 있는 토큰을 생성하는 MegaCoin 을 예로 사용하겠습니다.
Truffle 프로젝트를 위한 새 디렉토리 생성
mkdir MegaCoin
cd MegaCoin
프로젝트 초기화
프로젝트를 초기화하려면 다음 명령을 사용하십시오.
truffle init
이 작업이 완료되면 이제 다음 항목이 포함된 프로젝트 구조가 생성됩니다.
Contracts/: Solidity 컨트랙트 디렉토리
마이그레이션/: 스크립팅 가능한 배포 파일의 디렉터리
test/: 애플리케이션 및 계약을 테스트하기 위한 테스트 파일 디렉토리
truffle-config.js: 트러플 구성 파일
스마트 컨트랙트 생성하기
자신의 스마트 계약을 작성하거나 ERC20 토큰 스마트 컨트랙트 템플릿을 다운로드할 수 있습니다.
스마트 컨트랙트 컴파일하기
Truffle 프로젝트를 컴파일하려면 프로젝트가 있는 디렉토리의 루트로 변경한 후 터미널에 다음을 입력하십시오.
truffle compile
Agora(BizNet)용 Truffle 구성
truffle-config.js 파일을 오픈합니다.
truffle-config.js 파일의 다음과 같이 수정합니다.
const HDWalletProvider = require('@truffle/hdwallet-provider');
const fs = require('fs');
const mnemonic = fs.readFileSync(".secret").toString().trim();
module.exports = {
networks: {
development: {
host: "127.0.0.1", // Localhost (default: none)
port: 8545, // Standard RPC port (default: none)
network_id: "*", // Any network (default: none)
},
testnet: {
provider: () => new HDWalletProvider(mnemonic, `https://testnet.bosagora.org`),
network_id: 2019,
confirmations: 10,
timeoutBlocks: 200,
skipDryRun: true
},
mainnet: {
provider: () => new HDWalletProvider(mnemonic, `https://mainnet.bosagora.org/`),
network_id: 2151,
confirmations: 10,
timeoutBlocks: 200,
skipDryRun: true
},
},
// Set default mocha options here, use special reporters etc.
mocha: {
// timeout: 100000
},
// Configure your compilers
compilers: {
solc: {
version: "^0.6.12", // A version or constraint - Ex. "^0.5.0"
}
}
}
참고로 제공자에 대해 니모닉을 전달해야 하며 이는 배포하려는 계정의 시드 구문입니다. 루트 디렉터리에 새 .secret 파일을 만들고 시작하려면 12단어 니모닉 시드 구문을 입력하세요. 메타마스크 지갑에서 시드워드를 얻으려면 메타마스크 설정으로 이동한 다음 메뉴에서 보안 및 개인정보 보호를 선택하면 시드 단어 공개라는 버튼이 표시됩니다.