하이퍼레저 패브릭이란? (개념적)하이퍼레저 패브릭(Hyperledger Fabric)은 블록체인 솔루션과 응용 프로그램을 개발하기 위한 모듈형 아키텍처 플랫폼입니다. 리눅스재단이 주도하여 설립한 하이퍼레저(Hyperledger)의 프로젝트 중 하나로서, 다양한 기술 운영위원회와 여러 조직의 유지 관리자에 의해 관리됩니다. 하이퍼레저 패브릭은 합의 및 회원 서비스와 같은 구성 요소를 플러그 앤 플레이(Plug & Play) 방식으로 지원합니다. 2018년 3월에 나온 하이퍼레저 패브릭은 허가받은 사용자만 참여할 수 있는 허가형 블록체인으로서, 프라이빗 블록체인의 일종입니다.출처 : 해시넷하이퍼레저 패브릭이란? (기술적)피어, 오더러 등의 기능을 가지고 있는 컴포넌트로 모듈화가 되어있는 블록체인 플랫폼으로 ..
syslog 란?syslog를 이용하면, 원격 시스템 내부에서도 로그의 내용을 서버로 전송하여 파일이나 DB에 저장하여 볼 수 있습니다.변화하는 값들은 modbus 프로토콜을 이용하여 모니터링하고, 중요한 이벤트나 디버깅 정보등은 syslog 로 관리하여 편리합니다.syslog 는 특정 이벤트가 발생하는 시점들을 관리할 수도 있고, 시스템에 문제가 발생했을 때 원인을 분석하는 디버깅 용도로도 매우 유용합니다.데몬 프로그램 : syslogd수많은 시스템의 커널 경고, 디버깅 정보, 각종 메시지 출력 등의 다양한 활동에 대한 로그 정보를 받아서 일괄로 처리,기록하는 데몬을 말합니다.통신 프로토콜 : syslog 프로토콜네트워크를 통해 다른 컴퓨터와 로그를 송수신하는 프로토콜 (RFC 3164) 입니다. sy..
배열의 크기를 조절하기 위해 배열을 사용하는 방법:a=['Pune','Hyderabad','Banglore','Mumbai','Indore','Delhi']console.log(a.length) // 출력: 6a.length=3console.log(a) // 출력: ['Pune','Hyderabad','Banglore']두 개의 숫자를 교환하는 방법:let a=10;let b=20;console.log(a,b) // 출력: 10,20[a,b]=[b,a]console.log(a,b) // 출력: 20,10서버 과부화를 방지하고 둘 이상의 배열을 연결하는 방법:// 예전 방법a=[1,2,3,4,5]b=[4,5,6,7,8]c=a.concat(b) //.console.log(c) // 출력: 1,2,3,4,5,..
아래는 자바스크립트에서 변수 타입 체크를 위한 코드 예제입니다.undeclared, undefined, null 체크undeclared : **try-catch-finally**을 사용하여 해당 변수가 선언되지 않은 경우를 확인할 수 있습니다.try { var; // 여기서 사용해야 합니다.} catch (e) { if (e.name === "ReferenceError") { console.log("var is undeclared"); }}undefined : typeof 연산자를 사용하여 변수가 undefined인지 확인할 수 있습니다.var undefinedVar;if (typeof undefinedVar === "undefined") { console.log("var is undefin..
메시지 큐의 근본, 메시지 지향 미들웨어 (Message Oriented Middleware)메시지 큐는 데이터의 송수신을 비동기 메시지를 사용하는 다른 응용 프로그램 간에 의미합니다.이를 구현한 시스템을 메시지 큐(Message Queue, MQ)라고 합니다.그래서 메시지 큐가 무엇인가요?프로그래밍에서 MQ는 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할 때 사용하는 방법입니다.프로세스프로그램 인스턴스데이터를 교환할 때 관리하는 메시지 큐를 이용하는 것이 특징입니다.메시지 큐의 장점비동기: Queue에 넣은 데이터를 나중에 처리할 수 있습니다.비동조: Application과 분리됩니다.탄력성: 일부가 실패할 경우 전체에 영향을 미치지 않습니다.과잉: 실패할 경우 재실행이 가능합니다.보증: 작업..
curl 설치**curl**은 URL을 통해 데이터를 주고받는 CLI(Command-Line Interface) 도구입니다.이 명령어를 사용하여 서버나 웹사이트에서 데이터를 가져오거나, API를 호출하는 등의 작업을 수행할 수 있습니다.sudo apt-get install curl위 명령어는 apt-get 패키지 관리자를 사용하여 **curl**을 설치하는 명령어입니다.nodeJS / npm 설치**Node.js**는 JavaScript를 서버에서 실행할 수 있도록 만든 서버 사이드 플랫폼입니다.**npm**은 Node.js를 위한 패키지 관리자입니다. **npm**을 사용하여 Node.js 애플리케이션을 설치하고 관리할 수 있습니다.sudo apt-get install nodejs위..
이번 글에서는 하이퍼레저 패브릭(Fabric)을 이용한 블록체인 네트워크를 구성하는 과정을 알아보겠습니다.먼저, 네트워크를 구성하기 위해서 이전에 실행되던 모든 네트워크를 중지시켜야 합니다. 이를 위해 byfn.sh 파일을 이용해 네트워크를 종료시킵니다. 이후에는 docker 명령어를 이용해 컨테이너를 종료하고, 필요없는 이미지를 삭제하는 작업을 수행합니다../byfn.sh down# docker container 종료docker kill $(docker ps -q)docker rm $(docker ps -qa)# docker image 삭제docker system prune -a다음으로는 네트워크를 실행할 폴더로 이동해야 합니다. 이 글에서는 fabcar 예제를 사용하겠습니다.cd ..
합의 알고리즘 개념블록체인 사용자라면 누구나 데이터를 입력, 변경 또는 삭제할 수 있기 때문에 제 3의 신뢰기관(TTP: Trust Third Party)없이 신뢰성 있는 거래를 하기 위한 근간 기술인 합의 알고리즘의 사용이 필수적입니다. 합의 알고리즘을 이용하면 권한이 있는 사용자끼리의 특정 메커니즘 동작 후 블록체인에 저장되는 데이터의 신뢰성을 보장받을 수 있습니다. 이로 인해 블록체인의 상태가 안전하게 업데이트되고 유지되어 블록체인 내의 데이터 무결성이 보장됩니다.PoW (작업 증명 방식)네트워크 내의 노드들은 이전 블록 헤더의 해시값과 nonce를 연결한 값을 해시연산하여 특정한 값 x를 찾는 연산을 수행합니다.Nonce는 최초 0부터 시작하여 조건을 만족하는 해시값을 찾을 때까지 1..