# Web3

107개의 포스트

뉴스) 웹3가 가져올 미래

뉴스제목: 지긋지긋한 '#광고' 해시태그…블록체인 기반 '웹3 SNS'엔 없다[미래on] 주제: IT/기술 >요약(웹3와 웹2 비교) 개인정보/컨텐츠 소유권 웹3: 이용자 웹2: 웹 운용 기관(?) 광고 웹3: 선택 가능. 선택 시 보상제공 웹2: 선택 불가 개인정부 수집/방문사이트 트래킹 웹3: 필수. 선택 시 보상제공 웹2: 선택 불가 대표 브라우저 웹3: BraveBrowser 웹2: Chrome, Explor

2023년 9월 12일
·
0개의 댓글
·
post-thumbnail

[DApp] DEX superswap 구현하기

0. Overview DEX superswap 프로젝트를 진행하면서 틈틈히 작성했던 내용들을 정리하는 글입니다. 프로젝트 진행 중 주요 기능 개발 내용을 순서대로 나열했고, 작성한 코드를 중점으로 기능 설명을 추가했습니다. 따라서, 환경 설정과 관련된 기초 자료들은 해당 Velog에서 작성된 참고자료 링크로 대체했습니다. 개발 환경 Proivder - Infura, Metamask (Wallet) Blockchain Network - Etherum Goerli Testnet UI - React, Tailwind Framework - Node.js, Truffle Language - Typescript, Javscript, Solidity etc. - Web3.js, Ehters.js, OpenZeppelin, UniswapSDK 1. Infura - Provider Endpoint Infura 회원가입 후 API Key, Goerli Testnet Endpoint 생

2023년 8월 27일
·
0개의 댓글
·
post-thumbnail

Web3 4.x 버전 에러, Error: Cant resolve '../error_codes' ...

web3@4.1.0 버전 설치 후 공식 문서를 참고하여 트랜잭션 조회하는 로직을 실행시켰는데 오류가 발생했다. 오류발생 Module not found: Error: Can't resolve '../errorcodes' in 'C:\Users\USER\VsProject\superswap-dex\nodemodules\web3-errors\lib\esm\errors' 원인 참고 자료: https://github.com/web3/web3.js/issues/6359 > Using an older version of Web3 (4.0.3) also does not work as the dependencies of Web3 v4.0.3 includes web3-validator, web3-errors and the

2023년 8월 21일
·
0개의 댓글
·
post-thumbnail

MetaMask - RPC Error: Already processing eth_requestAccounts error

Hi~ 메타마스크 로그인 기능을 구현하면서 겪었던 에러 중 하나를 공유합니다. 비슷한 에러로 해결책을 찾으시는 분들은 참고하시면 좋겠습니다. Problem 실무에서 메타마스크 지갑으로 소셜로그인을 할 수 있도록 기능을 개발했는데, 간헐적으로 이런 에러가 발생하는 문제가 있었습니다. 이런 에러가 주로 발생하는 상황은 크게 2가지 였습니다. 이미 메타마스크 익스텐션으로 해당 요청을 보냈을 때 지갑이 잠금되어 있거나 동시에 여러번 요청을 보냈을 때 ![](https://velog.velcdn.com/images/g

2023년 8월 14일
·
2개의 댓글
·
post-thumbnail

Space Nation, 세계적인 창작자들이 함께한 혁신적인 크로스미디어 프로젝트로 게임 및 엔터테인먼트 산업의 패러다임 변화 예정

《월드 오브 워크래프트》, 《워프레임》의 베테랑과 《인디펜던스 데이》, 《13층》의 창작자들이 함께 매료시키는 우주 오페라 MMORPG를 만들었으며, 애니메이션 단편 영화, 파생 게임 및 TV 드라마 시리즈를 차례로 출시할 예정입니다. 로스앤젤레스(2023년 7월 5일) - 엔터테인먼트 산업의 선구적인 파워인 Space Nation Inc.은 오늘 게임 및 엔터테인먼트 산업을 재정의할 혁신적인 프로젝트를 발표했습니다. 이 프로젝트의 주요 창작자로는 Roland Emmerich《인디펜던스 데이》, Jerome Wu《월드 오브 워크래프트》, Tony Tang《워프레임》및 Marco Weber《13층》, 《이그비 고즈 다운》) 등이 포함됩니다. 선도적인 크로스미디어 프로젝트인 우주 오페라 MMORPG인 Space N

2023년 7월 27일
·
0개의 댓글
·
post-thumbnail

2023 Seoul Meta Week 후기

서울 메타 위크에 다녀왔다. 학부생으로서 조금 시기상조가 아닐까 했지만, 좋은 경험 하고 왔다고 생각한다. 가서 들은 내용을 바탕으로 나의 생각을 정리해보려고 한다. Web3 Web3는 사용자에게 ownership을 부여하는 것이다. 유저의 경험 중점으로 흘러간다는 이야기 이다. 유저 큰 경험을 주게 되면 그 안에서 큰 가치를 만들게 된다. Metaverse 회사마다 입장이 다르겠지만, 아직까지 메타버스라는 것이 이미지 마케팅으로 많이 사용이 되고 있다고 생각한다. 그러나 마케팅 요소로 크게 작용하고 있으며, 기술적으로 선두자 라는 이미지를 가질 수 있는 것을 확실하다. 많은 사람들이 메타버스에서 물건을 구매하는 것에 대해서 생각한다. 물론 인터넷이 발전하면서 인터넷에서 물건을 구매하기 시

2023년 7월 21일
·
0개의 댓글
·
post-thumbnail

web3 Crowdfunding2

thirdweb을 통해서 디플로이된 컨트랙트 주소를 가지고 프론트에 연결 시켜보겠습니다. 컨트랙트 주소는 thirdWeb에서 얼마든지 확인할수 있으며 심지어 이더스캔에서도 verified 된 형태로 볼수 있기 때문에 매우 편리합니다. >thirdweb 공식문서 참조 web3 연결을 위해 설치해야할 라이브러리들이다. >영상이랑 다른 버전의 라이브러리라 그런지 desiredchain을 사용하던데 지금 공식문서에서는 activeChain을 사용한다. sdk를 사용하기 위해서는 앱을 ThirdwebProvider로 wrap해야 한다. >리액트에서 context를 사용해서 내가 디플로이한 컨트랙트 주소에 대한 정보 및 지갑주소를 담아서 여러 컴포넌트에서 사용해보겠습니다. >1. us

2023년 7월 20일
·
1개의 댓글
·
post-thumbnail

web3 CrowdFunding

Js Mastery 라는 분의 Web3 CrowdFunding 공부해보려 한다. 공부 이유: web3 라이브러리에 대한 이해 thirdweb 이라는 프레임워크 사용 smart contract 개발 준비물 seploia rpc : https://rpc.ankr.com/eth_sepolia private key >사실 프로젝트는 고얼리로 진행되지만 나는 세폴리아가 매우 많은 관계로 세폴리아를 선호하여 seploia로 진행하겠습니다. npx thirdweb@latest create --contract ✔ What is your project named? … thirdweb-contracts ✔ What framework do you want to use? › Hardhat ✔ What will be the name of your new smart contract? … crowdfundingbyTS ✔ What type of contract do you want to star

2023년 7월 20일
·
1개의 댓글
·
post-thumbnail

Web3는 인증 구현을 어떻게 할까? [ TIL / node.js]

banner 인증구현이라는 시련이 다시 다가왔다. express로 인증구현을 할 때는 jwt 라이브러리를 사용해서 쿠키의 형식으로 클라이언트의 인증을 구현한 적이 있다. 하지만 이번 구현은 nest.js라는 상차림을 하고, passport.js라는 숟가락을 얹었다. 여기에 블록체인 지갑 연결까지 더해서 참으로 재밌는 시도가 되었다.(이렇게 덤덤하게 말하고는 있지만 정말 힘들었다.) 특히 이번 글을 통해서는 Web3에서 인증구현은 어떻게 이루어지는 지에 대해서 고민해보고 글을 작성해보고 있다. 이번 과정을 통해서 인증이라는 행위와 Web3의 특징인 지갑이라는 수단을 이용하는 것에 대해서 깊이 고민해보는 기회가 되었다. 블록체인과 지갑 특히 이번에 포커스를 두고 포스팅을 해볼 주제는 Web

2023년 7월 16일
·
2개의 댓글
·
post-thumbnail

#31 [서버 프로그래밍] (06.19)

🐨 지난 수업 복습 📍 구조체 ➡️ 데이터를 저장하는 형태! 변수 아님. : 얘만 가지고 할 수 있는 건 없음... 어딘가에 담겨야 함! (키 값만 지정해 준 것... value는 아직 없음, 제약조건 - 데이터 타입 지정) 📍 생성자 함수 만들어둔 통(구조체)을 배포할 때 실행 ➡️ 초기값 설정 📍 mapping ➡️ mapping = json 이라고 생각하기~ : 괄호를 통해 데이터의 구조를 만들어주는 것이라고 생각하면 된다 : 키 값을 데이터의 형태로 넣어줄 것이다~ 하는 내용? ➡️ 얘는 변수입니다. (그래서 변수명을 지정해줌! 데이터를 찾기 쉽게 만들어준다!) 📍 배열 $$*$$ 배열과 json 공통점) 여러가지의 데이터를 하나의 변수에 넣을 수 있다 차이점) key값! 배열에 key가 아예 없는 것은 아님. json의 key값 = 배열의 인덱스 (유사) ➡️ key의 이름으로

2023년 6월 19일
·
0개의 댓글
·
post-thumbnail

언디파인드 해커톤 리마인드

팀빌딩 → 기획 → 해커톤 참여까지 3일 글리치 해커톤이 끝나자마자 다음 필자가 참여한 해커톤은 언디파인드 해커톤이었다. 무려 월, 화, 수요일까지 준비할 수 있는 유일한 시간이고, 목요일부터 금요일까지가 해커톤 기간이었다. 글리치 해커톤의 후폭풍이 아직 다 가시지 않은 체로 준비하기 시작했다. 처음에는 언디파인드 측에서 아직 팀구성이 안된 인원끼리 팀을 꾸려줬었다. 총 4 명 중에서 한 분은 본인 프로젝트 홍보 차 들리기만 할 거라했고, 한 분은 직장 때문에 참여가 거의 불가능한 상태였다. 뭔가 이대로 가면 행복 해커톤은 고사하고, 아쉬움만 남는 참여가 될 것 같다는 생각에 언디파인드에 양해를 구하고 새롭게 팀빌딩을 했다. 다행히도 이전 글리치 해커톤 때 만났던 인연으로 디자이너 분과 프론트엔드 개발자를 새로 합류시킬 수 있었고, 필자와 글리치 해커톤 때 같이 참여했던 백엔드 개발자와 함께 언디파인드 해커톤에 참가할 수 있었다. 언디파인드 해커톤 언디

2023년 6월 14일
·
1개의 댓글
·

[TIL]23.06.09 Truffle

https://web3js.readthedocs.io/en/v3.0.0-rc.5/ > mkdir web3 cd web3 npm init ls // package.json 확인 cat package.json npm install web3 cat package.json // dependencies 추가 확인 ls // node_modules 생성 확인 > var {Web3} = require('web3') var web3 = new Web3('https://cloudflare-eth.com') >const {Web3} = require('web3') const web3 = new Web3('INFURAAPIKEY') const privatekey = 'YOUR PRIVATE KEY' // 1번 지갑 게인키 const account = web3.eth.accounts.privateKeyToAccount(privatekey) web3.eth.defaultAccount = a

2023년 6월 9일
·
0개의 댓글
·
post-thumbnail

[Today I Learned] P2P 가 무엇인가, 그리고 web3 와의 관계는??

P2P (Peer to Peer) 네트워크로 연결 되어 있는 노드들이 클라이언트와 서버의 기능을 모두 하는 네트워크 아키텍처 를 의미한다. P2P의 핵심 단어를 두 단어로 추려보자면 탈중앙화 , 분산 시스템 인것 같다. 중앙 서버 없이도 서로가 서로를 연결하여 데이터를 공유하는 형태이다. 장점 P2P는 애초에 중앙 서버를 두지 않는다 따라서 해킹이나, 데이터의 정보 위변조 될 가능성이 0%라고 한다. 주로 암호화폐들이 이런 방식으로 탈중앙화를 통해 화폐의 가치를 증명하는 방법으로 많이 사용합니다. 인터넷의 발달에 따라, 웹사이트에 부하가 걸리는 트래픽이 점점 높아지고 있다고 한다. 그래서 많은 기업들이 서버에 걸리는 부하를 줄이기 위한 방법으로 P2P를 많이 사용하는는 추세이다. P2P는 데이터를 분산 하여 사용자의 컴퓨터에 저장하는 형태이다. 그리고 데이터를 찾을 땐, 가장 가까운 컴퓨터(peer)에 저장된 데이터를

2023년 5월 23일
·
0개의 댓글
·
post-thumbnail

[Web3 Security] Sandwich Attack

그 유명한 Cmichel이 report한 Sandwich Attack의 issue 페이지 링크를 읽다가 의문을 해소하고자 정리한다. https://github.com/code-423n4/2021-09-bvecvx-findings/issues/57 Sandwich Attack은 다음과 같이 이루어진다. Sandwich attack 과정 X-Y Pair 유동성 풀 Alice가 X를 주고 Y를 구매하려고 한다. Eve가 이를 감지하고 Y를 Alice를 frontrun하여 산다. Alice는 Y를 원래보다 더 비싼 가격에 산다. (같은 X를 내고 더 적은 Y를 받는다.) Eve는 3을 Backrun하여 Y를 더 비싼 가격에 판다. -> Eve는 Y를 시장가에 사서 더 비싼 가격에 팔아 차익을 낸다.

2023년 5월 3일
·
0개의 댓글
·

[ethernaut] Switch

오랜만에 Ethernaut을 들어가보니 새로운 문제가 나와 후딱 풀고 풀이를 작성한다. 이 문제는 switchOn state를 true로 만들면 풀리는 문제이다. turnSwitchOn, turnSwitchOff 2개의 함수가 switchOn state를 변경할 수 있고, 실행 조건은 Switch 컨트랙트 즉, 자기 자신만 호출할 수 있다. turnSwitchOn, turnSwitchOff 함수를 핸들할 수 있는 함수는 flipSwitch 함수이고 인자는 bytes인 것을 확인할 수 있다. flipSwitch 함수에서 자기 자신의 call을 하는데 인자로 받은 data를 호출한다. data 는 당연하게도 시그니처가 와야할 것이다. 마지막 조건이 하나 존재하는데 onlyOff 를 확인해보면 calldata 검증 로직이 존재하고 turnSwitchOff 시그니처만 통과할 수 있는 것 처럼 보인다. 알았다. 이 문제

2023년 5월 1일
·
0개의 댓글
·

[chat-GPT] .call() 과 .send() 가 있는데 무슨 차이야?

이더리움 블록체인과 상호 작용하는 데 사용되는 인기 있는 라이브러리인 web3.js에서 call() 및 send()는 스마트 계약과 상호 작용하는 데 사용되는 두 가지 다른 방법입니다. 'call()'은 블록체인의 상태를 읽고 상태를 변경하지 않고 값을 반환하는 읽기 전용 메서드입니다. 일반적으>로 블록체인에서 데이터를 가져오는 데 사용됩니다. 반면 send()는 상태를 업데이트하는 블록체인에 트랜잭션을 보내는 메서드입니다. 토큰 전송 또는 사용자 데이터 업데이트와 같이 블록체인의 상태를 변경하는 스마트 계약을 실행하는 데 사용됩니다. 이러한 메서드와 함께 await를 사용하는 경우 await가 call()과 함께 사용되면 다음 코드 줄로 이동하기 전에 블록체인에서 데이터를 가져와서 반환할 때까지 기다립니다. 유사하게, await가 send()와 함께 사용되면 다음 코드 줄로 이동하기 전에 트랜잭션이 채굴되고 네트워크에서 확인될 때까지 기다립니다.<br

2023년 4월 27일
·
0개의 댓글
·
post-thumbnail

[블체스 Part.2] 230424

파트투 마지막주이다!! 지난시간 동작하지 않았던 '민팅'버튼의 오류를 잡고 시작했다. Web3를 가져올 때 위의 방식으로 가져와야 한다. 지난번에는 무지성으로 URL로 가져왔기 때문에 민팅버튼이 동작하지 않았다. call VS. send call - 읽기함수/ 일반함수와 payable 함수/ balanceof 읽어오기 send - 기록하는 함수/ window.ethereum 메타마스크가 설치되어있지 않으면 undefined로 뜸 BalanceOf를 통해 내 nft가 몇개인지 확인 토큰 바이 인

2023년 4월 24일
·
0개의 댓글
·

[Nest.js] Web3 인증 구현하기

0. 배경 cds는 디파이 서비스이므로 (당연하게도) 메타마스크를 활용한 web3 인증이 구현되어 있다. 기존에 express로 작성했던 api서버를 새로 배운 nest.js로 작성해보고 있다. express에서 직접 구현했던 web3 인증을 nest.js에선 라이브러리를 사용해 개선해보고 싶어 passport.js를 사용하기로 결정하고 리서치를 해봤다. 그런데 passport-web3 라이브러리는 논스를 사용하지 않는 취약한 형태로 구현되어 있었다. 누군가 깃허브 이슈로 이 문제를 언급해서 개발자도 인지하곤 있지만 개선의 의지가 없어보였다. 다른 레퍼런스들도 찾아봤는데 대부분 nest.js에 바로 적용할만한 자료가 없었다. 믿고 있었던 ChatGPT도 엉뚱한 예제를 알려주더라. 그래서 직접 구현하고, 상세히 기록을 남기기로 했다. (힘들었습니다..😂) 1. 로그인

2023년 4월 24일
·
1개의 댓글
·

Token과 NFT 발행해보기

OpenZepplin 스마트 컨트랙트 작성 시 도움 받을 수 있는 라이브러리이다. 작성 시 필수요소를 포함할 수 있도록 도움을 준다. Remix IDE 스마트 컨트랙트를 편집할 수 있는 IDE이다. EVM 계열(Solidity)의 스마트 컨트랙트 작성에 특화되어 있다. Mint Token(ERC-20) 우선 메타마스크에서 테스트 네트워크를 만들어 준다. Remix IDE에서 MintToken.sol 파일을 생성한다. 정식으로 배우기 전이라 내용이 확실치 않음. Solidity Compiler로 이동 Auto compile 체크 CONTRACT는 MintToke

2023년 4월 20일
·
0개의 댓글
·
post-thumbnail

What is Web3?

🗂️Index what is web3? Definition of Web3 and how it differs from Web2 What services can be created using Web3 technology? Examples of Web3 services, such as decentralized finance (DeFi) applications, non-fungible token (NFT) marketplaces, and supply chain management systems Can Web3 replace Web2? Explanation of how Web2 and Web3 coexist and serve different purposes 📎 What is web3? 👉 Definition of Web3 and how it differs from Web2 Web3 is a term used t

2023년 4월 9일
·
0개의 댓글
·