일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 오블완
- vue기초
- nest.js설명
- git rebase
- ethers v6
- 스마트컨트렉트 함수이름 중복 호출
- 컨트렉트 동일한 함수이름 호출
- Vue
- ethers
- 체인의정석
- 러스트 기초 학습
- 러스트 기초
- Vue.js
- 러스트기초
- ethers type
- 컨트렉트 배포 자동화
- multicall
- 스마트컨트렉트프록시
- 스마트 컨트렉트 함수이름 중복
- 프록시배포구조
- 스마트컨트렉트 예약어 함수이름 중복
- ethers typescript
- 스마트컨트렉트테스트
- ambiguous function description
- chainlink 설명
- 머신러닝기초
- rust 기초
- ethers websocket
- 티스토리챌린지
- SBT표준
Archives
- Today
- Total
체인의정석
Truffle 배포 후 web3에 abi인식 시키기 본문
728x90
반응형
우선 truffle 배포 시 하나의 파일만 배포하는것은 다음과 같이한다.
truffle은 오랜만에 써보는데 배포까지는 무조건 truffle로 하는게 편한것 같다.
ropsten testnet에 배포하는 법
바뀌는 solidity code가 있을 경우 truffle compile 후에 배포한다.
truffle migrate -f 4 --to 4 --network ropsten
이렇게 되면 4번의 migration파일만 migrate된다.
배포가 끝나게 되면 build 경로 아래에 있는 contracts안에 배포 정보가 나오게 된다. .json 파일로 되어 있는데 이걸 그대로 복사하면 된다.
이때 유의해야 할 점은
const fs = require('fs');
const contractABI = JSON.parse(fs.readFileSync('./public/javascripts/TestArbMain.json')).abi;
console.log(contractABI)
다음과 같이 복사한 파트중 다음과 같이 abi 부분만 빼서 가져와야 한다는 것이다. 이걸 깜박해서 좀 해맸다.
스마트 컨트렉트의 주소값까지 해서 다음과 같이 인식시켜주면 된다. 이때 await를 걸어서 singTX를 하는 부분은 코드의 가독성을 위하여 따로 함수로 빼두었다.
var web3 = new Web3(new Web3.providers.HttpProvider(endpoint));
let contract = new web3.eth.Contract(contractABI, contractAddress);
let enabi = contract.methods.함수이름(인자값1,인자값2 ,,,).encodeABI();
let result_bc = await signTX(enabi);
728x90
반응형
'블록체인 > 퍼블릭 블록체인' 카테고리의 다른 글
Solidity 코드 로컬환경 & Remix에서 배포하기 (0) | 2021.01.28 |
---|---|
erc20파일 노드에서 더 편하게 관리하는 법 npm @openaeppelin/contracts (0) | 2021.01.28 |
라인해커톤 참여기2) 서버와 DB 연동하기 (0) | 2020.12.18 |
라인 블록체인 해커톤 01 - 데이터베이스 구축 및 배포 (0) | 2020.12.17 |
프로젝트 후기] GINI 프로젝트 - Klaytn, Ethereum (0) | 2020.12.08 |
Comments