반응형 블록체인137 TON 블록체인이 왜 주목받을까? 💎 TON (The Open Network) 요즘 TON 블록체인을 많이 사용하려고 하는 시도가 많이 보인다. 단순히, 텔레그램에서 쉽게 이용할 수 있어서? 아니면 또 다른 장점이 있는지 궁금해져서 이 내용을 정리해보고자 한다. TON 을 간단하게 설명하면 아래와 같고 TON의 특징은 하나하나 알아보자.텔레그램 커뮤니티에서 설계한 기술을 사용하여 만들어진 탈중앙화 레이어 1 블록체인초고속 트랜잭션 속도, 낮은 수수료, 사용자 친화적인 애플리케이션, 환경 친화성으로 유명 1. 고속 트랜잭션 처리초당 수천 건의 트랜잭션을 처리다른 체인과 비교해보면? 비트코인 - 초당 7건, 이더리움 1.0 - 초당 15~30건, 이더리움 2.0 - 초당 수천건, 폴리곤 - 초당 최대 65,000 건, 아비트럼 - 초당 최.. 2024. 6. 7. Keccak256의 작동 원리 🔐 KECCAK256이더리움에서 사용되는 암호화 해시 함수데이터를 256비트(32 바이트) 의 고정 길이 해시값으로 변환하는 해시 함수입력이 조금만 변경되어도 결과 값은 크게 달라지며, 이를 통해 데이터의 무결성 검증 가능 Keccak256 의 작동 원리Keccak256 은 Sponge 구조를 기반으로 하며, 이 구조는 absorb 와 squeeae 두 단계로 나뉜다.Absorb Phase상태 초기화keccak 의 내부 상태는 1600 비트(200 바이트)로 초기화 된다. 이 상태는 5x5 배열의 64비트(8바이트) 블록으로 나뉨.데이터 블록 처리입력 데이터를 1088 비트(136 바이트) 크기의 블록으로 나누고, 각 블록을 내부 상태와 XOR 연산으로 결합.결합된 상태를 특정 라운드 함수를 통해 반복.. 2024. 5. 23. ENS(Ethereum Name Service) 📔 ENS(Ethereum Name Service) ENS란?2017년 Nick Johnson이 출시한 Ethereum Name Service복잡한 영어 + 숫자 블록체인 주소를 사람이 읽을 수 있는 형식으로 변환하는 서비스(0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045→vitalik.eth)DNS 가 그랬던 것처럼 기억하기 쉽기 때문에, ENS는 암호화폐 거래의 접근성을 향상시킴ENS 주소는 ERC-721 토큰 표준을 사용하여 NFT로 발행 → 거래소에서 거래 가능 ENS 작동 원리두 가지 이더리움 Smart Contract를 기반으로 구축 → ENS Registry, ResolverENS 컨트랙트 Github 주소: https://github.com/ensdomains.. 2024. 5. 21. ERC-6551, Token Bound Account ERC-6551, Token Bound Account ERC-6551이란?ERC-6551 은 2023년 5월 7일 이더리움 메인넷에 적용된 표준.이 표준은 NFT(Non-fungible Token)를 활용하여 TBA(Token Bound Account)를 생성하는 기능.즉, TBA 는 NFT 가 소유하고 있는 지갑을 나타내며, 이 지갑 안에는 다양한 토큰(ethereum, ERC=20, ERC-721, ERC-1155) 를 보유할 수 있음.TBA 가 소유하고 있는 에셋들에 대한 권한은 NFT 소유하고 있는 지갑에서 갖게 되며, 만약 NFT 의 소유자가 변경될 시 해당 TBA 에 들어있는 자산들의 권한도 새로운 소유자가 가져가게 된다. ERC-6551 구현하기ERC-6551 구현을 위해 필요한 구성 요소는.. 2024. 5. 17. Hardhat으로 컨트랙트 개발 시작하기 Hardhat으로 컨트랙트 개발 시작하기evm 기반에서 작동하는 스마트 컨트랙트 개발을 위해 하드햇을 사용하고 있다. 컨트랙트 개발을 시작하는 과정을 한 번 정리해보기 초기에 해둬야 할 설정에 대해도 정리해보자. 1. Node.js 설치하기대부분의 Ethereum 라이브러리와 도구는 JavaScript로 작성되었으며 Hardhat도 마찬가지입니다. 그렇기 때문에 node.js 가 설치되어 있어야하며 이 과정은 아래 링크를 참고하면 된다.https://hardhat.org/tutorial/setting-up-the-environment Hardhat | Ethereum development environment for professionals by Nomic FoundationHardhat is an Et.. 2024. 5. 16. Klaytn IDE로 스마트 컨트랙트 배포하기 💡클레이튼 스마트 컨트랙트 배포하기 나는 지금까지 모든 프로젝트를 이더리움 체인에서만 했었다. 수수료가 비싸고 TPS가 낮다는 단점이 있지만 아무래도 가장 많이 사용하는 체인이기도 하고 POS로 전환 후 속도도 빨라지고 수수료도 인하된다면 이더리움의 경쟁력은 점점 더 좋아지지 않을까 생각했다. 그러던 와중 네 번째 프로젝트로 NFT 거래소를 다시 만들어보기로 했고, 이번 거래소 프로젝트는 이더리움 뿐만 아니라 다양한 체인을 모두 거래할 수 있게 만들어보기로했다. 클레이튼과 이더리움은 개념은 거의 비슷하지만 사용하는 툴/라이브러리/표준이 조금 달랐다. Remix IDE -> Klaytn IDE Metamask -> Kaikas Web3.js -> Caver.js ERC-20은 KIP7과 유사 ERC-721.. 2022. 10. 24. 오픈씨 NFT 거래소, 레이지 민팅(Lazy Minting) 그리고 와이번 프로토콜 (Wyvern Protocol) / 시포트 프로토콜 (Seaport Protocol) NFT 거래소 프로젝트를 재진행하면서 오픈씨가 어떻게 작동하는지 공부하는 시간을 가지고 있다. 오픈씨는 자체적으로 nft를 발행할 수 있는 서비스를 제공한다. 오픈씨에서 자체적으로 제공하는 민팅 툴을 사용해서 nft를 민팅하는 경우엔 ERC1155를 통해서 발행한다. ERC1155 아무래도 멀티 토큰을 지원하는 만큼 비용은 적게 들지만, 개별 토큰에 대한 자유도는 떨어진다는 단점이 있다. 오픈씨는 자체적으로 배포한 ERC721 컨트랙트의 nft들을 별도의 절차 없이 알아서 가져와 마켓에서 보여준다. 오픈씨에서 NFT를 발행하면 리스팅까지는 가스비가 발생하지 않는다. 가스비가 처음으로 부과되는 시점은 NFT 거래가 발생하는 순간이다. 그렇기 때문에, NFT를 발행하는 작가들이 부담하는 가스비는 생각보다 많.. 2022. 10. 21. 클레이튼 caver-js 지갑 연결하기 webpack error Kaikas 연결을 위해 caver-js 설치후 파일을 실행하니 아래와 같은 에러가 발생했다. can't resolve 'fs' in '/users/eunjaeyoon/desktop/project4/beb-cc3-project-04/client/node_modules/caver-js/packages/caver-ipfs/src' 이는 webpack 5 이상 버전부터 caver-js에서 호환성 에러가 있어 발생하는 에러라고 한다. 나는 다음과 같이 방법으로 이슈를 해결했다. rm package-lock.json rm -r node_modules npm install webpack@4.44.2 위와 같은 방법으로 webpack@4.44.2 를 설치 후, webpack.config.js 파일에 아래와 같이 코드.. 2022. 10. 19. ERC1155 란 무엇일까?! 스마트 컨트랙트 코드로 이해해보기. 💡ERC1155 프로젝트에서 ERC1155를 기반으로 한 서비스를 제작하기로 했고, 이와 관련해서 계속해서 공부 중이다. 검색하다 보면 이런 말을 찾을 수 있다. ERC20 그리고 ERC721의 장점을 결합하여 만든 것이 ERC1155이다. 이게 말이 쉽지, 뭔가 명확하게 머릿속에 박히지는 않는다. https://docs.openzeppelin.com/contracts/4.x/erc1155 ERC1155 - OpenZeppelin Docs We’ll use ERC1155 to track multiple items in our game, which will each have their own unique attributes. We mint all items to the deployer of the cont.. 2022. 9. 12. Try building your app with 'next build' before starting the production server. Next.js error 💡 이슈 해결하기 더보기 Try building your app with 'next build' before starting the production server. NextJS 파일을 실행하려고 하니 위와 같은 에러가 계속 발생했다. 내가 해결한 방법은 아래와 같다. npm run build npm start or npm run dev npm run build 후 npm start 혹은 npm run build 후 npm run dev 명령어를 실행하면 정상적으로 작동되는 것을 확인할 수 있다. 2022. 9. 12. 리액트 부트스트랩 버튼 클릭시 사이트 전체 reloading, refreshing 되는거 막는 법, e.preventDefault() 💡e.preventDefault() 리액트 부트스트랩에서 제공하는 버튼을 사용하면 버튼 클릭시 자동으로 사이트 전체가 리프레싱 되는 경우가 있다. 이게 내 코드상 필요하지 않은 부분이었고 이를 막기 위해 event handler에 e.preventDefault를 사용하였다. import React from "react"; export default function App() { const onSubmit = (e) => { e.preventDefault(); console.log("refresh prevented"); }; return ( submit ); } 위는 그냥 예제코드이다. onSubmit 함수 안에 e.preventDefault() 만 추가해주면 끝! 2022. 8. 30. req.body가 undefined라면 express 미들웨어 body-parser 모듈을 확인하세요! 💡 Express 미들웨어 body-parser bodyParser 모듈 없이는 post, put 요청 메소드의 req.body를 읽어올 수 없다. body 데이터를 읽기 위해서는 이 모듈을 이용해야 한다. Parser란 가지고 있는 데이터를 내가 원하는 형태의 데이터로 가공하는 과정인 parsing을 수행하는 모듈 혹은 메소드를 일컫는 말이다. 원하는 형식에 맞춰서 해석하는 용도인데 bodyParser말고도 cookieParser, JSON.stringify 등 파서의 종류는 셀 수 없이 많다. 더보기 Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated whe.. 2022. 8. 30. 이전 1 2 3 4 ··· 12 다음 728x90