[CloseSea] aws 배포 이슈
·
팀프로젝트/close_sea
aws에 도커를 통해 배포를 진행하려고 했다. aws에서 도커허브에 올린 내 이미지를 받아와 npm start를 실행하도록 했지만 메모리가 부족하다는 오류가 뜨면서 실행되지 않았다. 오류에 대해 검색해보니 메모리를 올려주는 명령어를 추가하여 npm start를 하면 된다고 했지만 똑같은 오류가 발생했다. 문제는 근본적으로 내가 선택한 aws 인스턴스는 가장 작은 메모리를 사용하는 것이였기 때문이었다. 메모리가 부족했기 때문에 react를 빌드하여 실행시키는 방법을 생각했다. 이를 위해 Dockerfile을 새로 작성하고 이미지를 수정해야 했다. 기존 Dockerfile FROM node:18 WORKDIR /app COPY package.json . RUN npm install COPY . . EXPOS..
[CloseSea] 스마트 컨트랙트
·
팀프로젝트/close_sea
GitHub - TeTedo/NFT_market Contribute to TeTedo/NFT_market development by creating an account on GitHub. github.com NFT표준 규격으로 ERC721 대신 ERC721A를 사용했다. ERC721A Azuki www.azuki.com 아즈키 프로젝트에서 기존 ERC721의 가스비를 개선하여 ERC721A를 만들었다. 기존 ERC721에서 5개를 민팅한다고 했을때 가스비는 1개를 민팅한 가스비에서 비례적으로 늘어난다. 최적화1 ERC721 Enumerable 에서 중복 스토리지 제거 최적화2 발행된 NFT 대신 발행 요청당 한번 소유자의 잔액 업데이트 내가 토큰을 2개 가지고 있고 5개를 더 산다고 가정했을때 내 NFT..
[BlockChain] ERC20 Token 만들기
·
개발/BlockChain
1. 초기 설정 트러플 초기 설정 npx truffle init truffle-config.js module.exports = { networks: { development: { host: "127.0.0.1", port: 8545, network_id: "7722", }, }, compilers: { solc: { version: "0.8.17", }, }, }; 가나쉬 실행 npx ganache-cli --chainId 7722 --networkId 7722 2. 스마트 컨트랙트 (1) contracts/ERC20.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; contract ERC20{ // 표준토큰 규격 string public nam..
[BlockChain] 스마트 컨트랙트 배포
·
개발/BlockChain
1. controll/client.js, controll/compile.js 작성 (1) client.js // npm i web3 const Web3 = require("web3"); let instance; class Client { constructor(_url) { // instance의 내용이 있으면 내용이 이미 있는 instance 반환 if (instance) return instance; // instance 내용이 없으면 동적 할당으로 생성한 Client 클래스 객체에 web3 생성 this.web3 = new Web3(_url); // 생성후에 instance 변수에 Client 클래스 객체 할당 instance = this; } } module.exports = { Client }; ..