'Block Chain' 카테고리의 글 목록
본문 바로가기
반응형

Block Chain22

코인? 토큰? 모르면 손해 보는 구별법 모르면 손해 보는 코인 vs 토큰 차이 / 구별법 알아보기 코인 투자를 할 때 내가 구매하는 이 암호화폐가 코인인지 토큰인지 구별하는 것은 정말 중요합니다. 둘은 비슷한 개념같지만 근본에 차이가 있습니다. 블록체인을 공부할겸, 앞으로의 투자 판단에 도움이 될 겸 아래 글을 끝까지 잘 읽어보시길 추천합니다. 먼저 코인과 토큰의 차이를 알기 전에 알아야 하는 것이 "블록체인" 기술입니다. 간단히 말하자면 블록체인이라는 네트워크 상에서 우리가 잘 알고 있는 암호화폐들을 발행하고 유지 및 관리하게 되는데 이 "블록체인 네트워크(= 메인넷) "를 스스로 가진 암호화폐가 바로 "코인"이고 자신의 블록체인 네트워크 가 없어서 기존에 있는 다른 블록체인상에서 발행한 암호화폐를 "토큰" 이라고 합니다. 즉, 메인넷의 유.. 2022. 11. 5.
Solidity 솔리디티 기본 개념 배우기(feat.crypto zombie Lesson 1) 1. 기본 구조 Solidity 는 "contracts" 안에 캡슐화 되어 있다. 하나의 Contract는 하나의 기본 블럭이며 모든 변수들과 함수들은 이 Contract 안에 들어 있다. contract 작성 전 Pragma version을 작성해주어야 한다. 컴파일러 버전이 업그레이드되며 다르게 적용되는 규칙으로 나오는 에러를 예방할 수 있다. 2. 변수 State variables은 영원히 contract storage에 저장된다. 즉, 이 변수들은 Ethereum blockchain 상에 적히게 된다는 뜻 ! 블록체인에 적힌다는 것이 곧 영원히(?) 유지되기 때문 Solidity에서 uint (unsigned integers) 는 256-bit unsigned integer 이다. uint8, u.. 2022. 9. 13.
Hardhat, infura로 Ropsten Ethereum testnet에 upgradeable contract 배포하기 Hardhat으로 ropsten testnet에 Upgradeable Contracts 배포하기 webstrom 새로운 폴더 열고 $ npm init -> package.json 생성됨 package.json 설치할 것 작성 { "name": "upgradeable", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "devDependencies": { "@nomiclabs/hardhat-ethers": "^2.0.3", "@nomiclabs/hardhat-etherscan": "^2.1.8", "@openzeppelin/h.. 2022. 9. 6.
[eth.getTransaction]ERC20 토큰 이체 value 알아내기 / input data value 0 [eth.getTransaction]ERC20 토큰 이체 value 알아내기 / input data value 0 이더리움 Explore 구현 중에 이더리움 transfer, 이체를 한 트랜잭션 hash를 사용하여 eth.getTransaction('TxHash')으로 얻은 정보들 중 value에 얼마의 이더리움을 이체했는지 나온다. 마지막 row에 value = 0.1 로 표시되어 있다. 해당 트랜잭션은 from에 해당하는 계정(EOA) 으로부터 to에 해당하는 계정으로 0.1개의 이더리움을 이체한 것이다. (테스트넷에 있는 랜덤 트랜잭션을 가져옴) 그런데 테스트넷에 ERC20 토큰을 배포하여 이를 다른 계정으로 이체했을 때 이상하게 value가 항상 0으로 나온다! 찾다가 이는 getTransact.. 2022. 4. 3.
MetaMask: 'ethereum.enable()' is deprecated and may be removed in the future. Please use the 'eth_requestAccounts' RPC method instead. MetaMask 지갑과 연결할 때 if (window.ethereum) { try{ await window.ethereum.enable(); 요렇게 작성했더니 ethereum.enable()은 곧 사라지는 기능이니 request방식을 사용하라고 나온다. ERROR : MetaMask: 'ethereum.enable()' is deprecated and may be removed in the future. Please use the 'eth_requestAccounts' RPC method instead. 따라서 아래처럼 바꿔주면 된다. if (window.ethereum) { try { const accounts = await window.ethereum.request({ method: 'eth_requ.. 2022. 3. 31.
[truffle] 이더리움 테스트넷 rinkeby에 스마트컨트랙트 배포하기 ethereum truffle로 테스트넷 Rinkeby에 smartContract 배포하기 1. contract 작성 (openzepplin) 2. $ truffle compile (컴파일 하기) - 여기서 에러가 많이 나왔다. truffle-config의 compilers: { solc: { version: "0.8.0"}} 부분과 스마트 컨트랙트의 버젼을 모두 맞춰주어야 한다. 3. 배포하기 전 Truffle - Rinkeby에 연결하기 $ truffle migrate Error : Something went wrong while attempting to connect to the network. Check your network configuration. 해결법 $ npm install truffl.. 2022. 3. 29.
Node.js Web3.js 로 이더리움 테스트넷 Rinkeby연결하기 (by INFURA) - Ganache 단점 이더스캔과 같은 익스플로어(explorer)를 만드는데 ganache로 가상 블록체인을 띄웠더니 여러 단점들이 있었다. 1. 하나의 블록에 하나의 트랜잭션만 가능하다. 2. ganache 터미널창을 실수로 끄게되면 또는 컴퓨터 전원을 끄게되면 해당 블록들과 트랜잭션들이 모두 날아간다. -> 만약 ganache 블록체인 상에 스마트 컨트랙트를 일으켜 토큰 발행을 했다면 이것도 날아가버린다. 그래서 이더리움의 여러 테스트넷 중 이더리움 측에서 직접 만든 Rinkeby 테스트 넷을 사용하게 되었다. 이를 위한 전제 조건은 1. Ethereum test net node (우리는 Infura.io를 사용할 예정) 2. 최신 Node.js 설치 (나의 node version : v16.13.1) 3. Web3 설치.. 2022. 3. 28.
[truffle truffle/contract ganache web3 metamask] web3 사용법 - 웹 브라우저 연결 및 트랜잭션 일으키기 1. "connectToBC" 라는 새폴더를 만든다. 2. 터미널 path를 connectToBC로 들어가 react 시작 $ npx truffle unbox react 3. truffle-config.js - networks에 개발 host 입력 networks: { develop: { port: 8545 }, development: { host:"127.0.0.1", port:8545, network_id:"*" } } 4. ganache 실행 ( 127.0.0.1:8545 서버 실행) $ ganache 5. 컴파일 및 배포하기 $ truffle migrate 6. 터미널 client 폴더로 들어가 @truffle/contract 설치 $ npm install @truffle/contract 7. c.. 2022. 3. 21.
[truffle ganache react metamask] 내 이더리움 계좌의 잔고 web3 + 리액트로 브라우저 웹 상에 띄우기 https://codingpractices.tistory.com/131 [truffle ganache react] 리액트와 연결하기 webStorm 옵흔 1. 새 폴더 생성 "webConnect" 2. truffle 시작하기 $truffle init - > truffle 이 성공적으로 시작되면 아래와 같은 폴더들이 생긴다. 3. contracts 폴더 안 새 파일 "simpleStorage" 생성 및 코.. codingpractices.tistory.com 여기까지 truffle ganache react로 연결을 해놓고 이제 브라우저 상에 현재 브라우저에 연결된 나의 메타마스크 계좌 정보와, 지갑 안의 이더리움 값을 보여주는 것까지 해보기 React는 너~무 오랜만에 해가지고 구글로 검색하면서 했다. 처.. 2022. 3. 17.
[truffle ganache react] 리액트와 연결하기 webStorm 옵흔 1. 새 폴더 생성 "webConnect" 2. truffle 시작하기 (나중에 알게 되었지만 truffle init은 필요하지 않았다. unbox react에서 모두 실행됨) $truffle init - > truffle 이 성공적으로 시작되면 아래와 같은 폴더들이 생긴다. 3. contracts 폴더 안 새 파일 "simpleStorage" 생성 및 코드 작성 contracts 안에 이미 생성되어 있는 Migrations.sol 파일은 삭제하면 안됨 작성 코드 // SPDX-License-Identifier: MIT pragma solidity >=0.4.21 테스트용 공개/비공개키가 10개씩 나온다. 5. truffle로 컴파일하기 $ truffle compile -> biul.. 2022. 3. 17.
[ETH vs KLAY] 이더리움 vs 클레이튼, NFT를 만들기 좋은 플랫폼은? 이더리움과 클레이튼으로 테스트넷용 토큰을 발행해보며 드는 생각은 만약 내가 정말로 NFT 토큰을 만들어 배포까지 한다면 과연 어떤걸 플랫폼을 사용해야 이득일까 하는 생각이 들었다. 공부할겸 정리해보기 이더리움 2015년 러시아 청년 비탈릭 부테린에 의해 이더리움이 처음 등장했다. 비트코인이 1세대 코인이라면 이더리움은 2세대 코인이다. 이더리움은 "플랫폼"이자 "코인" 역할을 동시에 수행하기 때문이다. 비트코인 블록체인은 코인을 주고 받는 거래만 가능한 네트워크라면 이더리움 블록체인 안에는 "스마트 컨트랙트"로 블록체인 네트워크상 실행할 수 있는 dApp개발까지 가능하다. 때문에 우리가 소위 알고있는 "토큰", "NFT" 등은 모두 이더리움과 같은 "플랫폼" 상에서 만들 수 있다. 현재 이더리움은 전 세.. 2022. 3. 8.
[Klaytn] 클레이튼을 사용할 수 있는 보안성 높은 지갑은? 클레이튼 시세 알아보기 카카오에서 처음 발행한 코인인 클레이튼, 이제는 카카오에서 설립한 싱가폴 그라운드X에서 주관하고 있다. 현재 기준으로 1,400원 대를 유지 중인데 이는 러시아 - 우크라이나 전쟁 소식으로 위험자산에 속하는 코인은 하락장이 이어졌다. (이후, 화폐가치가 똑 떨어진 러시아 사람들이 차라리 러시아의 루블화보다 차라리 가상화폐를 사재기하며 코인 값을 반등했지만 클레이튼은 그 여파가 크지 않았음) 처음 상장되었을 때 7,000원 까지 솟구친 클레이튼, 이후 계단식 하락장을 이어 나가고 있다. 그래도 NFT 최대 글로벌 몰 OpenSea에서 이더리움 다음으로 두번째로 거래 가능한 코인이 되고 앞으로 카카오톡과 관련된 NFT 시장 성장을 예상해보면 현재 가치는 아직 저평가되고 있는게 아닌가 생각해 본다. 절대 내가.. 2022. 3. 8.
[ganache/truffle/meta mask] ERC20 토큰 생성하고 메타마스크 지갑에 옮기기 - smart contract, 스마트 컨트랙트 스마트 컨트랙트 발생시켜서 ERC20규격의 토큰 생성하여 가나슈로 띄운 가상 블록 안에 트러플로 배포하기 먼저 새 프로젝트를 열고, 1. npm 시작하기 npm init 2. truffle도 시작하기 truffle init 3. contracts폴더 안 solidity 언어 스마트 컨트랙트 작성 - OpenZeppelin 사이트에서 ERC20 + mintable 옵션이 추가된 소스코드 복사 * 처음에 수량은 100,000,000으로 했다가 나중에 100,000으로 변경함 4. 컴파일하기 truffle compile 에러 발생 ParserError: Source "@openzeppelin/contracts/token/ERC20/ERC20.sol" not found 해결 방법 : openZeppelin 설치.. 2022. 3. 4.
[클레이튼]Klaytn KCT, KIP-7, KIP-17 (ERC20, ERC721와 다른점) 블록체인의 이더리움 생태계에서 토큰 규격인 ERC20, ERC777, ERC721 등을 공부하다가 클레이튼의 KIP7, KIP17은 어떤 차이가 있나해서 찾아보았다. 아래의 글을 읽기 전 이더리움 토큰 규격을 정리한 이 글을 읽으면 훨씬 이해가 잘 될 것 같다! 왜냐하면 결국 클레이튼의 토큰 규격 및 생태계도 모두 이더리움에서 왔으니...🌝 KCT, Klaytn Compatible Token 클레이튼의 호환가능 토큰을 뜻한다. 클레이튼의 토큰 표준은 KIP-7과 KIP-17로 두 가지가 있다. KIP-7 이더리움의 ERC-20에서 파생된 KIP-7은 클레이튼의 대체 가능한 토큰(Fungible Token)에 대한 표준이다. 대체 가능한 토큰의 뜻은 일반적인 "토큰" 을 말한다. 각각의 토큰은 모두 동일한.. 2022. 3. 2.
ERC-20이란 무엇일까? ERC-223, ERC-777, ERC-721, ERC-998와의 비교 이더리움 블록체인 공부를 하다보면 자주 등장하는 "ERC-20" 토큰 규격이라는 모호한 개념만 알아서 이번에 자세하게 공부겸 정리해보기 ERC-20이란? Ethereum Request for Comment 20 의 약자이다. ERC-20은 이더리움 블록체인 네트워크에서 정한 표준 토큰 스펙이다. 즉, "ERC-20" 규격에 맞춰 만든 토큰은 이더리움 네트워크 상에서 이더리움과 교환 가능하며 이더리움 지갑으로 전송이 가능하다. 비트코인과 다르게 이더리움은 "코인"이자 "플랫폼"의 기능 또한 수행한다. 덕분에 smart contract, 스마트 컨트렉트를 포함한 트렌젝션을 일으킬 수 있고 이 스마트 컨트렉트 안에서 내 마음대로 토큰을 발행할 수 있다. 요 부분이 비트코인과 이더리움의 가장 큰 차이이다. 이 .. 2022. 3. 2.
반응형