일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Setting
- threejs
- chatGPT
- 라라벨
- netfunnel
- 배포
- NextJS
- Python
- 회고
- React
- CSS
- Kaikas
- jquery
- 블록체인
- node
- 티스토리챌린지
- 공연티켓
- pagination
- exceljs
- nft
- PM2
- nodejs
- metamask
- Ai
- 오블완
- Laravel
- nginx
- miniconda
- polygon
- Remix
- Today
- Total
목록전체 글 (135)
박주니 개발 정리
사용 이유) nft 마켓을 운영하게 될 때 1차 판매 관리자가 사용자에게 판매해서 owner address가 사용자로 지정이 되었고 그 사용자가 nft 자체 마켓이 아닌곳 예를 들어서 opensea에서 회원이 아닌 다른 사용자에게 nft 판매했을때에는 기록을 따로 관리하거나 삭제를 해야하기때문에 그것을 체크하고 관리하기 위해서 구현하게 되었습니다. 초기 설정) node, pm2 pm2 설정하는 방법은 node-pm2 설정으로 별도 정리해서 올렸습니다. 참고하시면 됩니다. 1. web3를 설치하고 web3를 설정합니다. 추가 설명) endpoint 설정은 infura 적용을 해봤지만 안돼서 quicknode에 받은 url 설정했습니다. const Web3 = require("web3"); const web..
설명 이유) 노드 모니터링을 진행할 때 저는 pm2로 설정해서 vagrant 접속했을 때 설정한 함수가 계속 모니터링을 진행하기 위해 설정했습니다. laravel에서 스케줄러를 진행하기 위해 crontab을 진행한 것처럼 node에서는 pm2를 활용했습니다. 1. vagrant 환경에서 sudo npm install pm2 -g를 진행합니다. 2. pm2 list를 입력하셔서 해당 이미지처럼 나오는 지 확인합니다. 3. pm2 start [실행 파일]을 입력해서 노드 모니터링을 진행할 파일을 연결합니다. 4. pm2 log를 하셔서 로그가 정상 작동되는 지 확인합니다. tip) pm2 stop all - pm2 실행된 파일 전체를 멈춥니다. pm2 restart all - pm2 리스트 파일 모니터링을 ..
airdrop 적용을 하기 전 이해) airdrop을 사용하는 이유는 발행자 또는 소유자가 해당 nft를 전달하고자하는 대상에게 본인 가스비 수수료를 지불하고 무료로 주기 위함입니다. 그렇기 때문에 airdrop을 적용하기 위해서는 먼저 본인 소유인 발행된 nft가 있어야합니다. 설명은 본인 소유인 nft가 있다는 전제 조건하에 진행하겠습니다. 셋팅하는 부분에 자세한 부분을 이해하고 싶으시면 performanceNFT 적용 방법을 참고하시면 됩니다. airdorp은 추가 기능이기 때문에 nft 거래까지 이해하시고 접근하시는 것을 추천합니다. 1. abi를 셋팅합니다. { "inputs": [ { "internalType": "address[]", "name": "recipients", "type": "a..
적용하게 된 이유) 에어드랍은 batchTransfer 사이트를 이용해서 airdrop을 이용했었습니다. 그런데 문제는 엑셀로 별도 데이터를 정리해서 그 내용을 복사 후 중간을 거쳐서 airdrop을 진행하는 것이 비효율적이였고 recordNFT와 performanceNFT를 만들었던 경험으로 airdrop도 자체서비스로 만들게 되었습니다. 배포 방법) 1. remix에 접속해주시길 바랍니다. https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.18+commit.87f61d96.js Remix - Ethereum IDE remix.ethereum.org 2. File explorer을..
지금 이 설명을 듣기 위해서는 그전에 설명했던 공연티켓 nft 발행 및 signature 과정이 필요합니다. 그래서 전 과정에서 signature 값이 있어야 purchaseNFT abi를 이용하실 수 있습니다. 해당 abi도 공연티켓 nft 발행 및 signature 설명할 때 같이 포함되어있습니다. 여기에 별도로 올릴 수는 있지만 오히려 그것이 더 차질을 드릴 거 같아서 한번에 가져오는 것을 추천합니다. 지금 설명하기 전에 앞서서 이제 구매자 입장에서 하신다고 생각하고 진행해야합니다. 즉 메타마스크 wallet address도 발행자 address랑 다르게 설정하고 진행하는 것을 추천합니다. 메타마스크에서 계정생성을 별도로 해서 진행하시는 것을 추천합니다. // 티켓 발행 async function ..
설명 전) nft 발행을 하고나서 signature 값을 받는 이유는 signatrue 값이 해당 nft 발행한 것을 증명하는 것이기 때문에 구매자가 해당 nft를 구매할 때 발행한 nft을 구매할려면 해당 siganture이 필요합니다. 그래서 저장해서 해당 값을 가져오는 목적으로 이용한다면 그 과정이 필요가 없지만 거래의 목적으로 하신다면 발행과 signature은 세트라고 보시는 것이 좋을 거 같습니다. 주의사항) 현재 abi 구성에 해당 method가 있는다고해서 무조건 돌아가는 것이 아닙니다. 배포할 때 스마트 컨트렉트에 해당 클레스가 존재해야하고 그것을 abi로 구성을 맞춘 것이기 때문에 그부분을 주의하시면서 진행하시는 것을 추천합니다. react 및 polygon 기준으로 설명하겠습니다. n..
적용 이유) 공연 티켓 nft 배포 발행 기준으로만 만들고나서 예를 들어 티켓을 5개를 erc721기준으로 한번에 tokenId 5개 기준으로 좌석이랑 qrcode를 넣는거까지는 되었고 확인도 되었지만 구매자가 구매를 하기 위해서는 그것에 따른 abi 추가도 이루어져야한다는 것을 알게 되었습니다. 그래서 nft 마켓 기준으로 만든다고 가정했을 때 솔리디티 리뉴얼한 것을 올리겠습니다. 그 이후에 내용은 공연티켓 nft 배포(발행 기준)과 동일합니다. remix에 적용할 performanceNFT // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; impor..
적용하게 된 이유) 공연 티켓에는 보통 정보가 좌석이랑 qr코드를 넣어서 만드는 경우가 있는데 현재 제가 만들었던 erc721 개념은 하나만 발행할 수 있는 수준이였습니다. 그런데 이렇게 하나 하나 발행을 하다보면 예를 들어서 10000이 넘어갈 경우에는 만번을 일일이 발행하는 것은 비효율적이다라고 생각했고 erc721을 한번 발행시 여러번 발행하고 그 안에는 각각 정보를 담는 방법을 찾게 되었습니다. 찾는 과정에서 erc1155로 접근해야한다는 생각의 틀이 깨지게 되어 좋은 경험이었습니다. 배포 방법) 1. remix에 접속해주시길 바랍니다. https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljso..