사설 Ethereum 네트워크 생성하기
계좌 만들기 % geth --datadir {경로} account new 만들어진 계좌 확인하기 % geth --datadir {경로} account list Genesis Block을 위한 설정 제네시스 블록이란? 블록체인에서 첫번째로 생성된 블록을 말합니다. private network를 만들기 위해서는 네트워크를 시작하는...
계좌 만들기 % geth --datadir {경로} account new 만들어진 계좌 확인하기 % geth --datadir {경로} account list Genesis Block을 위한 설정 제네시스 블록이란? 블록체인에서 첫번째로 생성된 블록을 말합니다. private network를 만들기 위해서는 네트워크를 시작하는...
블록체인과 스마트 컨트랙트 블록체인 데이터를 안전하게 저장하기 위한 자료구조 데이터를 블록에 저장하고, 그 블록들이 연결된 구조를 블록체인이라고 한다. 스마트 컨트랙트 블록체인에 넣어서 실행시킬 수 있는 프로그램 블록체인에 저장되어 값이나 프로그램이 절대로 위/변조되지 않는다. ‘무결성’을 보장함. ...
이더리움 지갑으로 이더리움 플랫폼에 접속하기 미스트 : 이더리움 디앱을 위한 브라우저 이더리움 지갑 : 특정 버전의 미스트를 기반으로 하는 지갑 디앱 이더리움 지갑의 주 목적? 이더를 보관하거나 보내고 받기 위함. 이더리움 지갑 시작하기 먼저, github.com/ethereum/mist/releases/tag/v0.11.1 에 접속...
디앱 자세히 살펴보기 이더리움 노드 이더리움 P2P 네트워크 이더리움 클라이언트 Ethereum client : 런타임 시 작동함. 이더리움 가상머신 Ethereum Virtual Machine (EVM) : 솔리디티나 EVM 바이트코드로 작성된 스마트 컨트랙트를 실행할 수 있다. 메모리 풀 memory po...
디앱이란? 구조적 관점: 디앱 해부하기 클라이언트 측은 기존 중앙화 웹앱과 동일 서버측 : P2P 네트워크 탈중앙화 서버는 같은 코드를 실행하고 같은 블록체인 데이터베이스를 갖는 서버의 P2P 네트워크이다. 주요 특징 마스터 노드가 없어 중앙에서 조정하지 않음. 각 노드가 피어 노드(간략히 피어)라고 하는 다른 노드 간에 직접...
스레드 기본 정보 public class ThreadInfoMain { public static void main(String[] args) { Thread mainThread = Thread.currentThread(); log("mainThread = " + mainThread); log("mai...
스레드 생성 방법 스레드를 생성하는 방법에는 두가지가 존재한다. Thread를 상속받는 방법 Runnable 인터페이스를 구현하는 방법 스레드 생성 - Thread 상속 public class HelloThread extends Thread { @Override public void run() { Sys...
메서드 영역 메서드 영역은 프로그램을 실행하는데 필요한 공통 데이터를 관리한다. 이 영역은 프로그램의 모든 영역에서 공유한다. 클래스 정보 : 클래스의 실행 코드(바이트 코드), 필드, 메서드와 생성자 코드 등 모든 실행 코드 static 영역 : static 변수 보관 런타임 상수 풀 : 프로그램을 실행하는데 필요한 공통 리터럴 상...
멀티태스킹과 멀티프로세싱 멀티태스킹 CPU 코어가 한개라고 가정해보자. 시분할(Time Sharing, 시간 공유) 기법 프로그램A를 먼저 수행하고, 프로그램B를 수행하는 것이 아닌 각 프로그램의 실행 시간을 분할해서 마치 동시에 실행되는 것 처럼 하는 기법이다. ⇒ 현대의 CPU는 초당 수십업번 이상의 연산을 수행할 수 있기 때문!...
오류 발생 상황 수상한 점 포착은 배포를 위해 docker hub를 사용하고 있습니다! private registry에 빌드 후 푸시한 이미지를 각각 개발 서버와 운영 서버에서 pull을 받아와서 사용하고 있는데요! 앱을 이전하고 애플로그인 설정 변경을 위해 서버에 새로운 키 값을 넣어주고, 이를 운영 서버에 반영하고자 하였습니다. 하지만 이상...