일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 벨로포터
- 이더리움
- npm
- node.js 교과서 따라하기
- Docker
- 리액트를 다루는 기술
- 일반유저
- 설치
- Sequelize
- 머클루트
- 리눅스
- wsl
- 깃허브
- 쉘스크립트
- 솔리디티
- 라우터
- 환경변수
- 우분투
- 머클트리
- 노드
- 시퀄라이즈
- immer
- 전역설치
- 블록체인
- 리액트
- 변수
- MariaDB
- 자바스크립트
- wget
- centos
- Today
- Total
목록분류 전체보기 (154)
코드코코
pragma solidity >=0.4.22 BetInfo) private _bets; //주소를 오너로 설정 //public : 자동으로 getter를 만들어 준다, 스마트 컨트랙트 외부에서 바로 오너의 값을 알 수 있다. address public owner; // 블록해시로 확인할 수 있는 제한 256으로 고정 uint256 constant internal BLOCK_LIMIT = 256; // +3 번째블럭으로 고정 uint256 constant internal BET_BLOCK_INTERVAL = 3; // 배팅금액 0.005eth 고정 uint256 constant internal BET_AMOUNT = 5 * 10 ** 15; //팟머니 uint256 private _pot; //이벤트 ev..
https://caileb.tistory.com/147 solidity - payable (1) 개념 Payable (1) payable concept Solidity 언어는 코인(coin) 혹은 토큰(token)이라는 가상화폐를 다루는 언어이다. 다른 언어들(ex, C, Java, HTML)은 오로지 프로그램을 만들기 위한 언어로 탄생했지만, Solidity.. caileb.tistory.com 짚고 넘어갈 개념 payble pragma solidity >=0.4.22 BetInfo) private _bets; //주소를 오너로 설정 //public : 자동으로 getter를 만들어 준다, 스마트 컨트랙트 외부에서 바로 오너의 값을 알 수 있다. address public owner; // 블록해시로 ..
네트워크에 컨트랙트 배포하기 옵션 2가지 이더리움 지갑으로 수동 배포 geth의 대화형 콘솔에서 터미널 명령을 통해 배포 이더리움 퍼블릭 네트워크 메타마스크를 통해 노드 없이 배포하기 메타마스크 : 외부 이더리움 노드에 연결하는 크롬 확장 프로그램. 메타마스트 테스트넷 접속하기 처음에는 테스트넷 목록이 보이지 않는다 따로 설정이 필요함 처음에는 계정에 잔액이 없다. 테스트를 위한 이더를 가져오자 들어오기까지 시간이 좀 걸린다. 기존의 다른 테스트 계정에 이더가 들어간다? 내 계정간 보내보기 대기중이었다 시간이 좀 바뀌면 전송이 완료되어 확인 가능하다. 테스트계정에서 5eth가 확인된다. //////////////////////////////////
Interface 스마트컨트랙트 내에서 정의되어야할 필수 요소들 명시 인터페이스는 순수하게 기능 없이 틀만 제공 특징 1. 함수는 external로 표시 2. enum, structs 가능 3. 변수, 생성자 불가(constructor X) 4. 다른 컨트랙트나 인터페이스를 상속받을 수 없음 5. 모든 함수를 자식 컨트랙트가 구현하여야 함 Pragma solidity ^0.4.11; Interface BankingSystem { function deposit(uint) returns (uint); function withdraw(uint) returns (uint); } 출처 : http://www.kmooc.kr/assets/courseware/v1/df7f0674dac055f5db4f9019d0073..
Dapp 서비스 설계 지갑관리 아키텍쳐 - smart contract - front - smart contract - server - front 예제는 데이터는 전부 스마트 컨트랙트에서 가져옴. 웹실행을 위한 웹서버도 있음. code 코드를 실행하는 데 돈이 든다 - ddos 공격을 막기위한 이더리움의 장치 권한 관리 - 비즈니스 로직이 복합해질 수 록, 어떻게 핸들링할 것 인지 고민 비즈니스 로직 업데이트 - 스마트 컨트랙트의 최대 단점. 데이터 마이그레이션 - 미리 저장된 데이터를 어떻게 옮길 것인지? 예시 프리즈? 운영 (배포,네트워크) -public : 테스트넷 -> 메인넷 : 예제는 메인넷 가정 -private : 어떻게 셋팅하고 관리할것인지, 합의 방법(POA,POW 등) - 스마트컨트랙트에서..
test/lottery.test.js 파일 생성 -tuffle에서는 js 기반 test 중에 Mocha 와 Chai 를 스마트 컨트랙트에 맞게 조절을 해 둠. truffle test - test 폴더의 모든 test 파일을 test 함 truffle test test/lottery.test.js - 해당 경로의 test 파일만 test - test 파일 작동 확인 lottery.test.js에 test 코드 추가 후 확인 - 주의사항 : migrations 의 2_deploy_smart_contract.js는 테스트 할 때는 사용되지 않음. - 연계할 수는 있지만, 테스트 코드에 배포코드를 추가해서 사용하는 것이 좋음.
truffle를 활용한 스마트 컨트랙트 상호작용 contracts/Lottery.sol 작성 pragma solidity >=0.4.22 truffle console truffle(development)> truffle(development)> web3 - web3 객체확인 truffle(development)> web3 Web3Shim { currentProvider: [Getter/Setter], _requestManager: RequestManager { provider: HttpProvider { withCredentials: false, timeout: 0, headers: undefined, agent: undefined, connected: true, host: 'http://127.0.0...
환경설정 nodejs vscode truffle - 컴파일 하고 사용하기 쉽게 함. ganache-cli vscode - solidity extension metamask npm -g install truffle npm -g ganache-cli 작업위치 C:\Users\coco\Desktop\coco\studying_solidity\lotteryDapp> truffle init C:\Users\coco\Desktop\coco\studying_solidity\lotteryDapp>truffle init Starting init... ================ > Copying project files to C:\Users\coco\Desktop\coco\studying_solidity\lotteryD..