일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ethers typescript
- multicall
- 러스트 기초
- ethers websocket
- 계정추상화
- ambiguous function description
- Vue.js
- git rebase
- vue기초
- Vue
- 스마트 컨트렉트 함수이름 중복
- erc4337
- 러스트기초
- 오블완
- ethers type
- erc4337 contract
- 스마트컨트렉트 예약어 함수이름 중복
- 스마트컨트렉트 함수이름 중복 호출
- 컨트렉트 배포 자동화
- 머신러닝기초
- 러스트 기초 학습
- ethers v6
- ethers
- SBT표준
- chainlink 설명
- 티스토리챌린지
- 체인의정석
- rust 기초
- 스마트컨트렉트테스트
- 컨트렉트 동일한 함수이름 호출
- Today
- Total
목록블록체인/퍼블릭 블록체인 (36)
체인의정석
우선 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.p..
1. 서버 접속정보는 env 파일로 빼두기 서버의 경우 local - dev -test - product 식으로 여러 단계로 분리해서 나누어서 관리해야한다. 물론 간단한 해커톤의 경우 그렇게 까지 나누지 않지만 특히 블록체인 프로젝트에서는 infura의 endpoint나 apikey 운영자의 wallet 프라이빗키 등을 그냥 두면 깃허브에 올릴때도 불편하기 때문에 git ignore에 env를 넣어주고 해당 파일 안에 접속정보 및 블록체인모듈에 필요한 정보들을 넣어둔다. cross env를 넣어준다. 그리고 접속정보는 config 폴더 안에 CommonConfig를 두어서 공통설정값으로 넣어둔다. 블록체인을 쓴다면 해당 config도 추가해주어야 한다. 실제 프로젝트에서는 env파일을 통해 메인넷 테스트..

1차 예선을 통과하여 웹어플리케이션 구현 1. aquery tool을 활용한 DB생성 머리로 계속 상황을 생각해가며 그리는게 은근히 재밌습니다 ㅎㅎㅎ 2. 클라우드에 인스턴스 생성 후 DB 생성, 설치는 하단 링크 참고 dejavuqa.tistory.com/317 mysql 설치 와 기본 설정 (on Ubuntu) Ubuntu에 mysql을 설치해 보겠습니다. 언제나 그렇듯이 Ubuntu 버전부터 살펴보겠습니다. $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18... dejavuqa.tistory.com 3. 외부 접속 허용 시켜주기 -> 오류가 나서 ..

해당 스마트컨트렉트에 대한 설명은 gini.fun에서 확인할 수 있다. 핵심 로직인 로또, 기부와 토큰은 스마트컨트렉트로 구현되었으며, 특히 당첨금을 배분할 때 추천인 시스템이 들어가서 레벨별 지급되는 당첨금이 다르게 나오는 식으로 구성되었다. 여태까지 해봤던 스마트컨트렉트 중 가장 복잡하였으며, 테스트 시나리오 또한 매우 다양하고 길었다. 로또 스마트컨트렉트 먼저 랜덤번호를 생성하고 당첨자를 계산하여 분배해주고, 당첨자가 나올 때 1. 랜덤번호 생성 2. XOR 연산으로 3개 블록의 해시값을 합친다. 3. shift 계산 후에 25를 나눈 후 1을 더한다. 4. 티켓의 표시는 2의 지수제곱 자리수에 1을 더하는 식으로 한다. 기부 - 기부는 로또 스마트컨트렉트와 연결하여 처음에 구매를 할때 후보를 지정..