본문 바로가기

전체 글103

블록체인 탈중앙화 앱(리믹스 솔리디티를 이용한 Dapp 구현) 3장 ◆ 리믹스 솔리디티를 이용한 Dapp 구현 ▶ 리믹스 솔리디티 ● 자바스크립트 와 비슷한 솔리디티라는 고수준 언어로 스마트 컨트랙트를 구현할 수 있도록 해주는 온라인 IDE ● http://remix.ethereum.org Remix - Ethereum IDE remix.ethereum.org ▶ 심플 코인 생성 ● create new file 선택해서 파일을 추가하고 코드 작성 //솔리디티 컴파일러의 지원 버전 pragma solidity ^0.4.0; //컨트랙트 정의 contract SimpleCoin { //상태 변수를 주소와 정수 사이의 매핑으로 정의 //상태 변수는 멤버 변수 와 유사 //매핑은 해시 테이블 또는 해시 맵 과 유사 mapping (address => uint256) public.. 2023. 6. 28.
블록체인 탈중앙화 앱(탈중앙화, Dapp) 3장 ◆ 탈중앙화 ▶ 개요 상품을 구매하기 위해서 인터넷으로 가격을 비교하다가 주로 이용하는 WellKnown.com보다 30퍼센트 저렴한 잘 알려지지 않은 SmallWebRetailer.com을 발견해서 상품을 구매하고자 했는데이 가격이 정말 가장 좋은 가격일까? SmallWebRetailer.com이 가짜 사이트는 아닐까? 돈만 받고 사이트가 사라지는 것은 아닐까? 마지막 구매 버튼을 누르기 전 몇 분간 고민하다가 WellKnown.com 사이트에서 30 퍼센트 비싼 가격으로 구매했는데 이는 SmallWebRetailer.com을 믿지 못했기 때문으로 신용카드사에 확인하거나 사기로 인한 환불 등 불필요한 시간을 낭비하고 싶지 않음 상품이 도착해 구매를 확정하기 전까지 판매자가 당신이 지불한 금액에 접근할 .. 2023. 6. 23.
블록체인이란?(블록체인과 이더리움 아키텍쳐) 2장 ◆ 블록 체인 과 이더리움 아키텍쳐 ▶ 블록 체인은 여러 컴포넌트로 이뤄진 아키텍처이며 블록 체인을 특별하게 만드는 것은 이러한 구성 요소들이 기능하고 서로 상호 작용하는 방식 ▶ 중요한 이더리움 구성 요소는 이더리움 가상 머신(EVM), 채굴자, 블록, 거래, 합의 알고리즘, 계정. 스마트 계약, 채굴, 이더, 가스 등 ▶ 이더(Ether) ◎ 이더(Ether)는 이더리움의 통화 ◎ 이더리움에서는 상태를 변경하는 모든 활동에 대한 요금으로 이더가 필요하고 또한 체인에서 성공적으로 블록을 생성하고 기록한 채굴자는 이더를 보상으로 받음 ◎ 이더는 암호화폐 거래소에서 달러 혹은 다른 전통적인 통화와 쉽게 교환할 수 있음 ◎ 이더리움에는 이더를 세는 화폐 단위계가 있는데 이더의 최소 단위 혹은 기본 단위는 웨.. 2023. 6. 8.
블록체인이란?(블록체인과 분산원장 기술, 거래과정, 특징) 1장 ◆ 블록 체인 ▶ 가상 화폐에서 암호 화폐로 블록 체인이 갑자기 나타난 것은 아니며 블록 체인은 지난 몇 십 년간 핀 테크 와 가상 화폐가 진화한 결과로 등장 인터넷의 대중화에 힘입어 기존의 전자 현금 시스템의 한 확장으로 E-cash, E-gold, Web Money, Liberty Reserve 같은 디지털 화폐들이 등장했는데 1990년대에 이런 프로젝트들이 크게 성공하긴 했지만 21세기로 접어들면서 파산 또는 정부의 영업 정지 명령으로 사라졌는데 기존의 디지털 화폐 시스템들이 중앙 집중적 형태였기 때문에 이러한 문제를 피할 수 없는데 이는 금융 사기를 방지하거나 시스템 안의 신뢰를 유지하는 부분을 중앙 기관(central authority)에서 처리했기 때문인데 이러한 문제 해결 방안으로 탈중앙 모.. 2023. 6. 7.
Go 언어 Back End 제작해보기(신용카드 결제 처리) 7장 ◆ 신용카드 결제 처리 ▶ 스트라이프 API 의 테스트 환경을 위한 API 와 신용카드 번호 https://stripe.com/docs/testing ▶ 프론트엔드의 스트라이프 API를 이용한 토큰 생성 let { token } = await this.props.stripe.createToken({ name: this.state.name }); ▶ 신용카드 결제를 처리하는데 필요한 정보 스트라이프 API가 제공하는 신용카드 토큰 주문자의 사용자 ID 주문하는 상품의 ID 상품판매가격 카드를 나중에 다시 사용할 수 있도록 해당 정보 저장 여부 미리 저장된 카드 사용 여부 ▶ FrontEnd 프로젝트의 creditcard.js 파일의 메서드 수정 async handleSubmit(event) { event... 2023. 6. 6.
Go 언어 Back End 제작해보기(패스워드 해싱) 6장 ◆ 패스워드 해싱 ▶ 해싱을 위한 패키지 설치 go get golang.org/x/crypto/bcrypt ▶ dblayer 디렉토리의 dblayer.go 파일에 추가 var ErrINVALIDPASSWORD = errors.New("Invalid password") ▶ dblayer 디렉토리의 orm.go 파일에 패키지 import import ( "errors" "models" _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm" "golang.org/x/crypto/bcrypt" ) ▶ dblayer 디렉토리의 orm.go 파일에 함수 추가 func hashPassword(s *string) error { if s == nil { return e.. 2023. 5. 26.