목록졸업 프로젝트 (10)
Gom3rye
Viimpt의 로그인 보안성을 생각해 로그인 기능은 소셜 로그인을 이용해 구현하기로 했다. 1. 구글 서비스에 신규 서비스 생성하기 구글 클라우드 플랫폼 주소(https://console.cloud.google.com)로 이동한 후 '프로젝트 선택' 클릭 > '새 프로젝트' 클릭 등록될 서비스 이름을 입력한다. 그렇게 생성 완료된 프로젝트를 선택하고 왼쪽 메뉴 탭을 클릭해서 API 및 서비스 카테고리로 이동 > '사용자 인증 정보'를 클릭하고 '사용자 인증 정보 만들기' 클릭 사용자 인증 정보의 여러 메뉴 중 OAuth 클라이언트 ID를 클릭한다. 클라이언트 ID가 생성되기 전에 동의 화면 구성이 필요하므로 '동의 화면 구성' 버튼 클릭 만들기 클릭 후 앱 정보를 등록한다. 앱 이름은 구글 로그인 시 사..
NEAR is a blockchain that has been built from the ground up to be high-performant, incredibly secure, and infinitely scalable all while supporting sustainability. - 니어 프로토콜은 앱을 웹 위에서 사용할 수 있도록 디자인 된 탈중앙화 어플리케이션 플랫폼이다. 특징 NEAR는 ICPC 세계 챔피언십에서 2회 우승한 세계 최고의 프로그래머와 사업가들에 의해 시작된 PoS Layer1 블록체인이다. 나이트쉐이드(Nightshade)라는 지분증명(PoS) 방식의 합의 알고리즘을 사용하고 있ㄷ,,블록체인으로 스마트 컨트랙트를 지원하며 개발자들이 손쉽게 디앱(dApp)을 개발할 수 있는..
What is hyperledger composer? Hyperledger Fabric에서 제공하는 개발 툴로, REST 방식(Representational State Transfer)의 API를 지원하는 모델링 언어 블록체인 비즈니스 네트워크를 구축하는데 사용한다. Smart contract 및 원장 간 계약을 작동시킨다. 스마트 계약 개발 및 분산 원장 내의 배포를 가속한다. Hyperledger composer 빌드 1. Hyperledger composer 개발 환경을 위해 URL을 통해 데이터를 전송하는 오픈소스인 curl 명령어를 통해 개발 환경을 세팅해준다. curl -O https://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh (나의..
/* * SPDX-License-Identifier: Apache-2.0 */ package main import ( "fmt" //write and print function을 위해 필요하다. "strconv" //문자열을 다른 형식으로 변환할 때 필요하다. "github.com/hyperledger/fabric/core/chaincode/shim" // provides interfaces, // Package shim provides APIs for the chaincode to access its state pb "github.com/hyperledger/fabric/protos/peer" ) var logger = shim.NewLogger("kopoVote") //로그를 찍기 위해 필요하다. /..
하이퍼레저 패브릭의 동작 방식 하이퍼레저 패브릭은 체인코드를 실행하는 Orderer 서버와 체인코드를 초기화하고 실행할 내용을 검증하는 Peer 서버로 구성한다. 여기에 인증과 인가를 담당하는 CA(Certification Authority)서버를 운영하기도 하는데 사용자 및 조직 구성이 운영 환경에서 거의 변동이 없는 경우는 CA 서버를 운영하지 않고 초기에 수동으로 생성한 인증서 정보로만 운영하기도 한다. 하이퍼레저 패브릭의 동작 흐름 위의 그림에서 ‘A’로 명명된 클라이언트 어플리케이션은 체인코드 실행을 위해 Peer에 연결한다. Peer에 체인코드에 실행할 내용을 전달한다. Peer는 어플리케이션으로 부터 전달받은 트랜잭션에 대해 사전 검증하고 검증 결과를 어플리케이션으로 회신한다.(원장에는 반영..
package main // Importing the Fabric SDK Go packages. import ( "errors" "fmt" "io/ioutil" "os" "path/filepath" "github.com/hyperledger/fabric-sdk-go/pkg/core/config" "github.com/hyperledger/fabric-sdk-go/pkg/gateway" ) func main() { // Set the environment variable DISCOVERY_AS_LOCALHOST to true. os.Setenv("DISCOVERY_AS_LOCALHOST", "true") // Create a new FileSystemWallet named wallet. // A walle..