본문 바로가기

분류 전체보기95

업그레이더블 컨트랙트 hardhat testCode.01 코드를 설명하기 앞서 하드햇을 사용하였고 테스트 코드를 작성하고 돌려보니 세폴리아, 괴를리는 작업이 되지 않아 기본네트워크로 테스트하였다. (지원툴) 1. 배포 테스트 각각을 아무렇게나 배포 하는 것이 아니라 얽혀있어 순서가 중요하다. LogicV1 배포 proxy 배포 LogicV2 배포 upgrade async function deployFixture() { const { owner, minter, recipient, admin } = await getSigners(); const erc20Impl = await ethers.deployContract("ERC20Impl"); await erc20Impl.waitForDeployment(); const erc20V1Address = await erc2.. 2023. 8. 28.
업그레이더블 컨트랙트 샘플 업그레이더블 컨트랙트에 대해 이전에 알아보았다. 하여 erc20 샘플을 만들고 관련 하드햇 테스트 코드까지 작성해서 마무리 하였다. 이를 정리한다. 1. Contract 종류 Erc20ImplV1 proxy storage Erc20ImplV2 1-1. Erc20ImplV1 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./bittoToken.storage.sol"; import "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol"; import "@openzeppelin/contracts-upgradeable/security/PausableUpgrade.. 2023. 8. 28.
업그레이더블 컨트랙트 정리 업그레이더블 컨트랙트란 컨트랙트는 본래 수정할수 없다. 하지만 프록시 패턴을 사용해서 교묘하게 속임수를 쓸 수 있다. 프록시 서버를 예로 들자면 진짜 서버는 따로 있고 중간에서 연결해주는 역할을 해주는 프록시 서버의 특성을 띈다고 할 수 있겠다. 이게 가능 한 이유는 Delegatecall 때문이다. 솔리디티는 다른 컨트랙트를 호출 할때 크게 두가지 EVM opcode를 사용한다. call, delegatecall call은 다 아니 생략하고 delegatecall은 다른 컨트랙트의 코드를 사용하지만 실행 환경은 기존 컨트랙트에서 수행하게끔한다. a 컨트랙트가 b 컨트랙을 호출할때 delegatecall을 사용하면 b contract의 code를 사용하지만 스토리지는 a 컨트랙을 소모한다. 그래서 스토리.. 2023. 7. 19.
META Threads 출시와 fediverse 어제 일자로? Threads가 출시했다. 기존의 트위터와 비슷한 형식이며 텍스트 sns 위주이다. 물론 사진, 동영상 모두 가능하다. 내가 작성했던 글을 찾아 보기가 귀찮고 힘들지만 이것도 타임라인 형식으로 나열되어 있긴하다. 검색도 불가능하다. 뭔지 궁금하면 직접 깔아서 보도록 하고 fediverse 가 왜 나왔는가 threads는 곧 ActivityPub 프로토콜을 사용할 예정이다. 이게 무엇이냐 ActivityPub web3과 같이 중앙화에서 벗어나 탈중앙을 목표로 하는 프로토콜이라 보면 되겠다. 그렇다면 fediverse는 무엇인가? Fediverse ActivityPub 프로토콜을 사용해서 탈중앙화를 이루는 것을 의미한다. 이 프로토콜을 사용하는 어플리케이션들은 독자적인 서버를 유지하면서도 데이.. 2023. 7. 8.
동영상 스트리밍 사이트 : 와토 프로젝트 솔로 구현 예~~전에 와토 프로젝트를 만든답시고 모든 데이터를 로컬로 저장하다 보니 한계점이 많았었다. 하여 aws s3 , meidaconvert, lambda 등을 이용하여 플랫폼에서 사이트를 업로드 하고 컨버터와 람다가 인식을 하면 3가지 종류의 해상도를 지닌 동영상으로 컨버팅 후 다른 버킷에 업로드를 해주는 것을 구현하였다. 업로드된 m3u8 형식의 url을 백앤드로 보내고 후처리가 다 된 데이터가 몽고디비로 문자만 전달해주는 형식을 사용했다. 현재 스트리밍까지 구현 완료된 상태이고 자잘한 댓글 기능, ux ui 기능 등을 추가해야한다. 또한 와토 프로젝트의 핵심이었던 토큰 이코노미까지 조금 더 다듬어 넣어볼 생각이다. 탈중앙 거래소 구현도 목표다. 다시 코딩하러 가보까 2023. 6. 22.
토큰 이코노미에 대한 이해와 플랫폼 설계 개발을 쭉 하다 보니 뭐가되었던 토큰 이코노미가 중요하다는 생각이 들었다. 물론 자체 토큰을 사용하는 경우에 그렇다. 우리는 토큰 이코노미를 설계 하기 앞서서 기본 자본 시장에 대한 이해가 필요하다. 달러, 원화 우리는 화폐를 소모하며 살아간다. 이 화폐들은 어떤식으로 균형을 이루고 시장 경제를 조절하는가. 자세하게 들어가면 상당히 복잡하고 세밀하니 중요점만 찾아서 알아보자. 시장 경제는 수요와 공급의 상호작용을 기반으로 한 경제시스템이다. 시장에서의 수요와 공급의 변화는 물가에 영향을 미친다. 수요가 증가하면 물가 상승 압력이 생기고 반대로 수요의 감소는 물가 하락을 유발한다. 생산과 공급의 변화도 물가에 영향을 미친다. 생산량이 증가하면 물가 상승 압력이 줄어들고 생산량의 감소는 물가 상승을 초래할수.. 2023. 5. 31.