리액트 - 프론트엔드
솔리디티 - 스마트컨트랙트 서버 로직
스마트 컨트랙트는 이더리움에 배포된다.
데이터도 이더리움에 저장된다.
* Dapp만의 특징?
- Decentralized Application 분산공유
- 자체적인 화폐 기능을 가지고 있다.
- 이더에 대한 소득세 x
2번째 강의 - 개발환경구성
프론트엔드 - 자바스크립트 기반
톰캣의 역할 : 가나쉬
stack exchange - ethereum 여기서 질문 많이
node.js 설치 후
powershell에서 (꼭 관리자로 실행)
npm --version
npm install truffle
npm install -g --production windows-build-tools@3.1.0
python도 같이 설치됨
npm install -g node-gyp@3.8.0
글로벌하게 설치된 모듈 확인하기
npm list -g --depth 0
디렉토리 아무거나 만들어서
tuffle unbox react 이거 성공하면 잘된거임
========install truffle 오류나면============
npm uninstall truffle
npm init --yes
npm install --global --production npm-windows-upgrade
npm-windows-upgrade
이렇게 하고 다시 위 과정 따라하니까 잘됐음
===================================
https://truffleframework.com/ganache
여기 가나쉬 다운받으슈
<소스파일 작성도구>
- Yakindu
https://github.com/Yakindu/solidity-ide all-in-one
이메일로 다운로드 링크가 간다
이클립스 아이콘!
솔리디티용으로 바꿔놓은거 Help - 맨아래 보면 About 뭐시기 있음
- Atom
다운로드 받으면 됨
settings에 들어가서
install packages - linter-solidity
콘솔로 truffle 관련 해도됨
powershell 대신
- webstorm
- 등등
- IntelliJ
- Remix
결국은 truffle을 많이 쓴다
<컴파일>
변수 default는 private!?
public 은 읽기 전용 (쓰기 권한을 주지 않는 한)
프로젝트 디렉토리 만들기
파웨셸은 여러모로 좋다
폴더만들고
truffle init
dir
프로젝트 소스 폴더들이 자동으로 생성됨
정해진 소스폴더 구조대로 컴파일 배포 이런걸 자동화시켜주느 ㄴ프레임워크다.
contract dir 안에 sol 파일 넣어주면 됨
webstorm 깔아서 다시 하기 8분 30초
webstorm settings - plugin 에 solidity 검색해서 깔았다
pragma solidity ^0.5.0; //버전 업데이트 된 점
contract HelloWorld {
string public greeting;
constructor(string memory _greeting) public{ //memory를 써줘야하는점
greeting = _greeting;
}
function setGreeting(string memory _greeting ) public{
greeting = _greeting;
}
function say() public view returns(string memory) { // constant가 아니라 view인 점
return greeting;
}
}
ㅇ
조금 다를 수 있음 위에거가 맞는거임 질문에 truffle?이 업데이트돼서 그런겨
파워셀에서 해당 폴더로 간 다음
truffle compile
그러면 build에 json 파일 생김 같은 이름
abi, bin : 컴파일의 결과물
bytecode 이것도 확인~
truffle 쓰면 abi와 bin을 개발자가 손대지 않는다
향후에는 전혀 신경쓰지 않아도 된다.
abi : application binary interface - 애플리케이션에서 스컨의 메소드 호추하기위해 컨트랙트의 자세한 정보 있어야겠지 그런 역할
bytecode : 이더리움에 배포가 된다
배포를 위해서는 배포 스크립트, 배포 타켓(로컬 or 테스트넷 or 메인넷) 해줘야해 다음시간에!
<<배포(1)>>
https://solidity.readthedocs.io/en/v0.5.0/050-breaking-changes.html
새로운 동전 던지기 소스코드
'Develop > Blockchain' 카테고리의 다른 글
[Inflearn] 블록체인 이더리움 부동산 댑(Dapp) 만들기 - 기본편 (5) | 2019.05.15 |
---|---|
[블록체인] 크립토좀비 - 5. ERC721 & 크립토 수집품 (0) | 2019.04.04 |
[블록체인] 크립토좀비 - 4. 좀비 전투 시스템 (2) | 2019.04.04 |
[블록체인] 크립토좀비 - 3. 고급 솔리디티 개념 (0) | 2019.04.03 |
[블록체인] 크립토좀비 - 1. 좀비 공장 만들기 / 2. 좀비가 희생물을 공격하다 (0) | 2019.04.03 |