Truffle consol을 통한 송금 수신(Truffle 5 지원)
목표
설정 계정을 로컬 환경에 설계하여truffle 컨트롤러에서 EOA(외부 계정)에 단독 영패를 송금하는 것이 목적입니다!
네트워크 전단의 설치, 테스트망, 메인 네트워크의 디버깅은 이번에 진행하지 않습니다!머지않아
조직적 준비
일단 프레임 하나 준비해!$ npm install -g truffle # まだインストールしていなければ
$ mkdir test-contract
$ cd test-contract
$ truffle init
이렇게 하면 프로젝트를 완성할 수 있다!
이번 송금transfer
은 방법의 프레임만 설치하면 충분합니다.단지 스스로 설치하는 것이 번거롭기 때문에 OpenZeppelin을 사용하여 ERC20을 부합시킨다.여기. 멋진 문장 한 편을 참고하여 하세요.
OpenZeppelin을 가져온 후 Contract 파일을 만듭니다.$ npm init -y
$ npm install -E openzeppelin-solidity
$ touch contracts/TestContract.sol
편집TestContract.sol
의 내용.거의여기.복제품pragma solidity ^0.5.0;
import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
import "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol";
contract TestContract is ERC20, ERC20Detailed {
string private _name = "TestContract";
string private _symbol = "TC";
uint8 private _decimals = 18;
address account = msg.sender;
uint value = 100000000000000000000;
constructor() ERC20Detailed( _name, _symbol, _decimals) public {
_mint(account, value);
}
}
OpenZeppelin도 2.0
부터 위와 같이 import의 내용이 가늘어졌다.옛 보도의 복사와 붙여넣기가 번역을 통과할 수 없음을 주의하십시오!
로컬 환경 준비
현지 환경을 좀 조정합시다.이번에는 간단하게 ganache에 환경을 구축할 겁니다.
공식 사이트에서 구축된자체 구축을 얻습니다.이미 지은 것만으로도 충분하니 이번에는 내가 직접 가서 지을게.# 作業用ディレクトリとは異なる場所で作業すること
$ git clone https://github.com/trufflesuite/ganache.git
$ cd ganache
$ npm install
$ npm start
npm start
에서 Electron은 상승했다.
선택QUICKSTART
또는 여러 EOA의 지갑이 생성되고 노드가 상승합니다.여기서 아까 Contract의 디자인을 진행합니다.
프로그램 준비
truffle의 작업 환경에서 이번에 나는 프로그램에 사용할 코드를 쓸 것이다.나는 ./migrations/
에 이미 1_initial_migration.js
의 서류가 있다고 생각한다. 이 서류를 다시 제작2_deploy_contract.js
하면 다음과 같다.var TestContract = artifacts.require("./TestContract.sol");
module.exports = function(deployer) {
deployer.deploy(TestContract);
};
그리고 환경 설정을 한다.프로젝트 노선truffle-config.js
에 따라 ganache의 정보를 편집합니다.내 손에 있는 말은 다음과 같다.
그래서truffle-config.js의host
,port
,network_id
는 다음과 같다.gas
크지도 작지도 않은 적당한 값을 입력합니다.너무 작으면 프레임을 실행할 수 없고, 너무 크면 수중에 있는 이더넷이 부족하기 때문이다.module.exports = {
/* 中略 */
networks: {
+ local: {
+ host:"127.0.0.1",
+ port: 7545,
+ network_id: "5777",
+ gas: 2000000
+ }
}
};
프로그램 설계
그런 다음 컴파일링과 마이그레이션을 수행하고 Contract를 로컬로 디버깅합니다.$ truffle compile
$ truffle migrate --network local
프로그램이 끝난 후 얼마나 많은 가스가 들었는지 보여 줍니다.Summary
=======
> Total deployments: 2
> Final cost: 0.0333941 ETH
truffle consol로 입금
그럼 여기서 입금할게요.다음 내용을 입력하고 콘솔에 들어가세요.$ truffle console --network local
truffle(local)> # 入った
콘솔에서 나오려면 .exit
를 입력합니다.
그럼 아까 Contract의 주소를 알아보겠습니다.truffle(local)> TestContract.address
'0x88E2a079DaCABaB64f6901aF543f052AAf1dB66f'
및 내보내기.그럼, 이번 영패의 총 공급량을 봅시다.truffle(local)> const tc = await TestContract.at(TestContract.address).then(_ => _)
undefined
truffle(local)> tc.totalSupply().then(ts => ts.toString())
'100000000000000000000'
이 근처가 오래된 보도(Truffle4.x 이전)라면 동기화 처리로 보인다.Contract#at()
등이 Promise에 회신하였으니 위에서 설명한 대로 처리하십시오.
그럼 드디어 입금할게요.Ganache가 표시하는 적당한 주소로 입금해 보세요.dest
Ganache에 표시된 EOA 주소를 저장합니다.
나는 네가 좋아하는 물건을 선택한다.
truffle(local)> const dest = "0x163c07CB14603bcBb867f2e95AE2ae965d824ebd"
undefined
truffle(local)> tc.transfer(dest, 10)
{ tx:
'0x282c11cfbeb31df6483e65cfeda8d9d40309af54627ac2cd427ab4c438ebd2c8',
(中略)
from: '0xfdb1c9353c4b325bb3c609bbb70a60fc26eb9c76',
to: '0x88e2a079dacabab64f6901af543f052aaf1db66f',
gasUsed: 51368,
(後略)
거래, 송금 주소, 사용한 가스 등을 표시했다.여기transfer
함수를 사용하여 10개의 영패를 보냅니다.잔액을 표시해 주세요.truffle(local)> const balance = await TestContract.at(TestContract.address).then((address) => address.balanceOf(dest))
truffle(local)> balance.toNumber()
10
이렇게 하면 지정된 EOA 입금을 알 수 있습니다.입금은 이만 마치겠습니다!
Reference
이 문제에 관하여(Truffle consol을 통한 송금 수신(Truffle 5 지원)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/guntamania/items/d1605961f0af008e8e8d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
일단 프레임 하나 준비해!
$ npm install -g truffle # まだインストールしていなければ
$ mkdir test-contract
$ cd test-contract
$ truffle init
이렇게 하면 프로젝트를 완성할 수 있다!이번 송금
transfer
은 방법의 프레임만 설치하면 충분합니다.단지 스스로 설치하는 것이 번거롭기 때문에 OpenZeppelin을 사용하여 ERC20을 부합시킨다.여기. 멋진 문장 한 편을 참고하여 하세요.OpenZeppelin을 가져온 후 Contract 파일을 만듭니다.
$ npm init -y
$ npm install -E openzeppelin-solidity
$ touch contracts/TestContract.sol
편집TestContract.sol
의 내용.거의여기.복제품pragma solidity ^0.5.0;
import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
import "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol";
contract TestContract is ERC20, ERC20Detailed {
string private _name = "TestContract";
string private _symbol = "TC";
uint8 private _decimals = 18;
address account = msg.sender;
uint value = 100000000000000000000;
constructor() ERC20Detailed( _name, _symbol, _decimals) public {
_mint(account, value);
}
}
OpenZeppelin도 2.0
부터 위와 같이 import의 내용이 가늘어졌다.옛 보도의 복사와 붙여넣기가 번역을 통과할 수 없음을 주의하십시오!로컬 환경 준비
현지 환경을 좀 조정합시다.이번에는 간단하게 ganache에 환경을 구축할 겁니다.
공식 사이트에서 구축된자체 구축을 얻습니다.이미 지은 것만으로도 충분하니 이번에는 내가 직접 가서 지을게.# 作業用ディレクトリとは異なる場所で作業すること
$ git clone https://github.com/trufflesuite/ganache.git
$ cd ganache
$ npm install
$ npm start
npm start
에서 Electron은 상승했다.
선택QUICKSTART
또는 여러 EOA의 지갑이 생성되고 노드가 상승합니다.여기서 아까 Contract의 디자인을 진행합니다.
프로그램 준비
truffle의 작업 환경에서 이번에 나는 프로그램에 사용할 코드를 쓸 것이다.나는 ./migrations/
에 이미 1_initial_migration.js
의 서류가 있다고 생각한다. 이 서류를 다시 제작2_deploy_contract.js
하면 다음과 같다.var TestContract = artifacts.require("./TestContract.sol");
module.exports = function(deployer) {
deployer.deploy(TestContract);
};
그리고 환경 설정을 한다.프로젝트 노선truffle-config.js
에 따라 ganache의 정보를 편집합니다.내 손에 있는 말은 다음과 같다.
그래서truffle-config.js의host
,port
,network_id
는 다음과 같다.gas
크지도 작지도 않은 적당한 값을 입력합니다.너무 작으면 프레임을 실행할 수 없고, 너무 크면 수중에 있는 이더넷이 부족하기 때문이다.module.exports = {
/* 中略 */
networks: {
+ local: {
+ host:"127.0.0.1",
+ port: 7545,
+ network_id: "5777",
+ gas: 2000000
+ }
}
};
프로그램 설계
그런 다음 컴파일링과 마이그레이션을 수행하고 Contract를 로컬로 디버깅합니다.$ truffle compile
$ truffle migrate --network local
프로그램이 끝난 후 얼마나 많은 가스가 들었는지 보여 줍니다.Summary
=======
> Total deployments: 2
> Final cost: 0.0333941 ETH
truffle consol로 입금
그럼 여기서 입금할게요.다음 내용을 입력하고 콘솔에 들어가세요.$ truffle console --network local
truffle(local)> # 入った
콘솔에서 나오려면 .exit
를 입력합니다.
그럼 아까 Contract의 주소를 알아보겠습니다.truffle(local)> TestContract.address
'0x88E2a079DaCABaB64f6901aF543f052AAf1dB66f'
및 내보내기.그럼, 이번 영패의 총 공급량을 봅시다.truffle(local)> const tc = await TestContract.at(TestContract.address).then(_ => _)
undefined
truffle(local)> tc.totalSupply().then(ts => ts.toString())
'100000000000000000000'
이 근처가 오래된 보도(Truffle4.x 이전)라면 동기화 처리로 보인다.Contract#at()
등이 Promise에 회신하였으니 위에서 설명한 대로 처리하십시오.
그럼 드디어 입금할게요.Ganache가 표시하는 적당한 주소로 입금해 보세요.dest
Ganache에 표시된 EOA 주소를 저장합니다.
나는 네가 좋아하는 물건을 선택한다.
truffle(local)> const dest = "0x163c07CB14603bcBb867f2e95AE2ae965d824ebd"
undefined
truffle(local)> tc.transfer(dest, 10)
{ tx:
'0x282c11cfbeb31df6483e65cfeda8d9d40309af54627ac2cd427ab4c438ebd2c8',
(中略)
from: '0xfdb1c9353c4b325bb3c609bbb70a60fc26eb9c76',
to: '0x88e2a079dacabab64f6901af543f052aaf1db66f',
gasUsed: 51368,
(後略)
거래, 송금 주소, 사용한 가스 등을 표시했다.여기transfer
함수를 사용하여 10개의 영패를 보냅니다.잔액을 표시해 주세요.truffle(local)> const balance = await TestContract.at(TestContract.address).then((address) => address.balanceOf(dest))
truffle(local)> balance.toNumber()
10
이렇게 하면 지정된 EOA 입금을 알 수 있습니다.입금은 이만 마치겠습니다!
Reference
이 문제에 관하여(Truffle consol을 통한 송금 수신(Truffle 5 지원)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/guntamania/items/d1605961f0af008e8e8d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 作業用ディレクトリとは異なる場所で作業すること
$ git clone https://github.com/trufflesuite/ganache.git
$ cd ganache
$ npm install
$ npm start
truffle의 작업 환경에서 이번에 나는 프로그램에 사용할 코드를 쓸 것이다.나는
./migrations/
에 이미 1_initial_migration.js
의 서류가 있다고 생각한다. 이 서류를 다시 제작2_deploy_contract.js
하면 다음과 같다.var TestContract = artifacts.require("./TestContract.sol");
module.exports = function(deployer) {
deployer.deploy(TestContract);
};
그리고 환경 설정을 한다.프로젝트 노선truffle-config.js
에 따라 ganache의 정보를 편집합니다.내 손에 있는 말은 다음과 같다.그래서truffle-config.js의
host
,port
,network_id
는 다음과 같다.gas
크지도 작지도 않은 적당한 값을 입력합니다.너무 작으면 프레임을 실행할 수 없고, 너무 크면 수중에 있는 이더넷이 부족하기 때문이다.module.exports = {
/* 中略 */
networks: {
+ local: {
+ host:"127.0.0.1",
+ port: 7545,
+ network_id: "5777",
+ gas: 2000000
+ }
}
};
프로그램 설계
그런 다음 컴파일링과 마이그레이션을 수행하고 Contract를 로컬로 디버깅합니다.$ truffle compile
$ truffle migrate --network local
프로그램이 끝난 후 얼마나 많은 가스가 들었는지 보여 줍니다.Summary
=======
> Total deployments: 2
> Final cost: 0.0333941 ETH
truffle consol로 입금
그럼 여기서 입금할게요.다음 내용을 입력하고 콘솔에 들어가세요.$ truffle console --network local
truffle(local)> # 入った
콘솔에서 나오려면 .exit
를 입력합니다.
그럼 아까 Contract의 주소를 알아보겠습니다.truffle(local)> TestContract.address
'0x88E2a079DaCABaB64f6901aF543f052AAf1dB66f'
및 내보내기.그럼, 이번 영패의 총 공급량을 봅시다.truffle(local)> const tc = await TestContract.at(TestContract.address).then(_ => _)
undefined
truffle(local)> tc.totalSupply().then(ts => ts.toString())
'100000000000000000000'
이 근처가 오래된 보도(Truffle4.x 이전)라면 동기화 처리로 보인다.Contract#at()
등이 Promise에 회신하였으니 위에서 설명한 대로 처리하십시오.
그럼 드디어 입금할게요.Ganache가 표시하는 적당한 주소로 입금해 보세요.dest
Ganache에 표시된 EOA 주소를 저장합니다.
나는 네가 좋아하는 물건을 선택한다.
truffle(local)> const dest = "0x163c07CB14603bcBb867f2e95AE2ae965d824ebd"
undefined
truffle(local)> tc.transfer(dest, 10)
{ tx:
'0x282c11cfbeb31df6483e65cfeda8d9d40309af54627ac2cd427ab4c438ebd2c8',
(中略)
from: '0xfdb1c9353c4b325bb3c609bbb70a60fc26eb9c76',
to: '0x88e2a079dacabab64f6901af543f052aaf1db66f',
gasUsed: 51368,
(後略)
거래, 송금 주소, 사용한 가스 등을 표시했다.여기transfer
함수를 사용하여 10개의 영패를 보냅니다.잔액을 표시해 주세요.truffle(local)> const balance = await TestContract.at(TestContract.address).then((address) => address.balanceOf(dest))
truffle(local)> balance.toNumber()
10
이렇게 하면 지정된 EOA 입금을 알 수 있습니다.입금은 이만 마치겠습니다!
Reference
이 문제에 관하여(Truffle consol을 통한 송금 수신(Truffle 5 지원)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/guntamania/items/d1605961f0af008e8e8d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ truffle compile
$ truffle migrate --network local
Summary
=======
> Total deployments: 2
> Final cost: 0.0333941 ETH
그럼 여기서 입금할게요.다음 내용을 입력하고 콘솔에 들어가세요.
$ truffle console --network local
truffle(local)> # 入った
콘솔에서 나오려면 .exit
를 입력합니다.그럼 아까 Contract의 주소를 알아보겠습니다.
truffle(local)> TestContract.address
'0x88E2a079DaCABaB64f6901aF543f052AAf1dB66f'
및 내보내기.그럼, 이번 영패의 총 공급량을 봅시다.truffle(local)> const tc = await TestContract.at(TestContract.address).then(_ => _)
undefined
truffle(local)> tc.totalSupply().then(ts => ts.toString())
'100000000000000000000'
이 근처가 오래된 보도(Truffle4.x 이전)라면 동기화 처리로 보인다.Contract#at()
등이 Promise에 회신하였으니 위에서 설명한 대로 처리하십시오.그럼 드디어 입금할게요.Ganache가 표시하는 적당한 주소로 입금해 보세요.
dest
Ganache에 표시된 EOA 주소를 저장합니다.나는 네가 좋아하는 물건을 선택한다.
truffle(local)> const dest = "0x163c07CB14603bcBb867f2e95AE2ae965d824ebd"
undefined
truffle(local)> tc.transfer(dest, 10)
{ tx:
'0x282c11cfbeb31df6483e65cfeda8d9d40309af54627ac2cd427ab4c438ebd2c8',
(中略)
from: '0xfdb1c9353c4b325bb3c609bbb70a60fc26eb9c76',
to: '0x88e2a079dacabab64f6901af543f052aaf1db66f',
gasUsed: 51368,
(後略)
거래, 송금 주소, 사용한 가스 등을 표시했다.여기transfer
함수를 사용하여 10개의 영패를 보냅니다.잔액을 표시해 주세요.truffle(local)> const balance = await TestContract.at(TestContract.address).then((address) => address.balanceOf(dest))
truffle(local)> balance.toNumber()
10
이렇게 하면 지정된 EOA 입금을 알 수 있습니다.입금은 이만 마치겠습니다!
Reference
이 문제에 관하여(Truffle consol을 통한 송금 수신(Truffle 5 지원)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/guntamania/items/d1605961f0af008e8e8d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)