본문 바로가기

전체 글

(163)
0307 ICT 블록체인 하이퍼레저 패브릭 > 네트워크를 킴 (peer가 켜짐) peer1, 2가 참가할 수 있는 채널을 개설한다. (채널에 입장은 peer 스스로 해야한다.) organization에 추가되어있는 peer들은 채널에 들어갈 수 있는 권한이 생김 [createchannel] infoln ⇒ console같은거 configtxgen? genesis 블럭 생성 블록에 관여하기 위해서는 transaction이라는 형태로 요청해야한다. 블록의 request = transaction 즉 configtxgen의 결과물은 트랜잭션이다. configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/${CHANNEL_NAME}.tx -channelI..
ERC20 Openzeppelin ERC20은 Ethereum Request for Comments 20의 약자로써 네트워크 상에서 토큰들끼리 서로 상호 작용하기 위하여 모든 토큰이 따라야하는 표준 규칙 집합이다. ERC20 토큰을 배포할때 여러가지 툴을 사용할 수 있다. truffle Klaytn IDE Remix etc... ERC20을 배포할 때 대부분의 코드가 openzeppelin을 참조한다. 오늘은 openzeppelin에 쓰여져 있는 각 코드의 구조와 함수를 살펴보고자 한다. openzeppelin에서 제공하는 공식 ERC20 코드는 Core, Extensions, Utilities로 크게 3가지로 나뉜다. Core IERC20 : ERC20의 기본적인 인터페이스 ERC20 : ERC20에서 가장 기본적인 기능이 구현된 클래..
코어 이더리움 프로그래밍 (1) Chapter 1 1.1 비트코인 돈이란? : 물건의 가치를 표현하는 단위이자 필요한 물건과 교환하기 위한 수단. 시공간의 제약없이 가치가 저장되고 전잘될 수 있어 부를 저장하는 수단. : 그 가치는 사회적 합의와 신뢰를 통해 인정되고 유지됨. 스톤머니 to 암호화폐 돈 X > 물물교환 물건의 가치를 대신해 교환할 수 있고 부를 축척할 수 있는 돈 1세대 : 조개껍데기(파손쉬움), 금,은,동(파손 가능성 낮음) 스톤머니 (rai stone) : 4톤 넘는 돌도 있음. 이동이 어려워 소유자를 돈에 기록. 크기가 크면 클수록 값어치도 높음 2세대 : 통화화폐 (지폐나 동전) 각 나라의 중앙은행이 발행함. 우리나라 : 한국은행 미국 : FRB (Federal Reserve Board) - 은행 아니고 전통 깊..
GoLang 실습 peer위에 코드가 돌아가는 것이다. 코드에 쓰인 특정 기능이 작동할때는 chain-code를 peer위에다가 설치 및 배포 하여 실행하는 것이다. go lang 프로그램에 반드시 있어야 하는 것 => main function (메인함수) 또한 이 메인함수는 패키지당 단 1개만 있어야 한다. golang 패키지 "encoding/json" json 마샬링을 위한 패키지 "fmt" println를 사용할 수 있게 해주는 패키지 "strconv" 스트링 컨버젼스 > 스트링 형태의 자료를 다양한 다른 자료형으로 변경, 다른 자료형들을 스트링 형태로 변경해주는 스트링컨버팅을 위한 패키지 위처럼 이름만 적혀있는 패키지는 glang에서 기본적으로 탑재 되어있는 패키지 "github.com/hyperledger/fa..
[solidity] assert, revert, require란? 세가지는 모두 솔리디티의 에러 핸들러이다. 간단하게 말하자면 일정 조건에 부합하지 않으면 에러를 발생시키는 것 이다. revert 조건없이 에러를 발생시키고 gas를 환불 시켜준다. // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 =0.7.0 =0.7.0
[solidity] Event란? (indexed) solidity에서는 event를 통하여 값을 출력한다. 출력한 값은 블록안에 저장되고 저장된 값을 사용할 수 있다. // SPDX-license-Identifier:MIT pragma solidity >=0.8.0 =0.8.0 < 0.9.0; contract eventTest { event info(string name, uint256 age); function set..
[solidity] abi.encodePacked abi.encodePacked()함수는 함수안에 들어간 string타입을 byte타입으로 변경해주는 함수이다. string타입 데이터를 비교할 수 없는 솔리디티 특성상 string타입 데이터들을 비교해야할때 keccak256을 이용하여 암호화 후 비교한다. 그때 사용하는 keccak256함수는 byte타입 데이터만 암호화할 수 있기때문에 abi.encodePacked를 이용하여 byte타입으로 변경후 keccak256을 사용하여 암호화한다. keccak256(abi.encodePacked("teststring"));
[solidity] This란? this : 호출이 이루어진 계약의 인스턴스. (동일한 계약의 여러 인스턴스를 가질 수 있음) address(this) : 호출이 이루어지는 계약 인스턴스의 주소 msg.sender : 계약을 호출한 계정의 주소