일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ethers typescript
- 계정추상화
- vue기초
- 체인의정석
- Vue
- 스마트 컨트렉트 함수이름 중복
- ethers v6
- 오블완
- 스마트컨트렉트 예약어 함수이름 중복
- erc4337
- 머신러닝기초
- Vue.js
- 스마트컨트렉트테스트
- 티스토리챌린지
- SBT표준
- ethers websocket
- 러스트 기초 학습
- 러스트기초
- git rebase
- multicall
- rust 기초
- erc4337 contract
- ethers
- 스마트컨트렉트 함수이름 중복 호출
- ambiguous function description
- 컨트렉트 배포 자동화
- 러스트 기초
- chainlink 설명
- 컨트렉트 동일한 함수이름 호출
- ethers type
- Today
- Total
목록블록체인 (225)
체인의정석
forum.openzeppelin.com/t/importing-openzeppelin-contracts-in-remix/1420
truffle을 이용하여 배포하거나 open-zeppelin의 표준에 맞춰서 스마트컨트렉트를 테스트/배포해야하는 경우 erc20 파일을 일일히 가져오기 보다는 www.npmjs.com/package/@openzeppelin/contracts @openzeppelin/contracts Secure Smart Contract library for Solidity www.npmjs.com 다음과 같은 npm 라이브러리를 사용하면 더 편하다.
우선 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. 외부 접속 허용 시켜주기 -> 오류가 나서 ..
guide.luniverse.io/docs/%ED%95%98%EC%9D%B4%ED%8D%BC%EB%A0%88%EC%A0%80-%ED%8C%A8%EB%B8%8C%EB%A6%AD-demo-dapp-tutorial 하이퍼레저 패브릭 Demo DApp Tutorial 루니버스에서 생성된 하이퍼레저 패브릭 네트워크에서 테스트 할 수 있는 샘플 체인코드(Chaincode)와 DApp을 다운로드 받아서 순서대로 따라해 보면서 BaaS 기능을 체험해 봅시다. guide.luniverse.io 얼마전에 루니버스에서 하이퍼레져 패브릭이 나왔다고 해서 들어가 봤습니다. 체인코드 예제를 보고 있었는데 다들 MAC 환경에서 하다보니 prerequsite를 맞추기도 어렵고 해서 더 간단한 실습을 찾다보니 발견한건데 기존에 나와있..
하이퍼레져 강의를 쉽게 진행하기 위하여 윈도우 환경 WSL2 + 2.2버젼으로 강의를 진행중이다.wsl2가 업데이트 되면서 wsl2 업데이트를 통하여 윈도우 환경에서 개발 할 수 있게 되었다.wsl2에서 code . 을 사용하면 vscode를 열 수 있다. 열 수 없을시 아래의 링크로 들어가서 설치를 해보자. docs.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-vscode Linux 용 Windows 하위 시스템을 사용 하 여 VS Code 시작 Linux 용 Windows 하위 시스템을 사용 하 여 코드를 작성 하 고 디버그 하 VS Code를 설정 하는 방법에 대해 알아봅니다. docs.microsoft.com 하지만 파일을 읽고 쓸때 관리자 권한으로 실행하지 ..
해당 스마트컨트렉트에 대한 설명은 gini.fun에서 확인할 수 있다. 핵심 로직인 로또, 기부와 토큰은 스마트컨트렉트로 구현되었으며, 특히 당첨금을 배분할 때 추천인 시스템이 들어가서 레벨별 지급되는 당첨금이 다르게 나오는 식으로 구성되었다. 여태까지 해봤던 스마트컨트렉트 중 가장 복잡하였으며, 테스트 시나리오 또한 매우 다양하고 길었다. 로또 스마트컨트렉트 먼저 랜덤번호를 생성하고 당첨자를 계산하여 분배해주고, 당첨자가 나올 때 1. 랜덤번호 생성 2. XOR 연산으로 3개 블록의 해시값을 합친다. 3. shift 계산 후에 25를 나눈 후 1을 더한다. 4. 티켓의 표시는 2의 지수제곱 자리수에 1을 더하는 식으로 한다. 기부 - 기부는 로또 스마트컨트렉트와 연결하여 처음에 구매를 할때 후보를 지정..