728x90
목차 1. 다른 노드와의 커넥트 2. 노드 간 통신 및 노드 동기화 3. 지갑을 이용한 트랜잭션 생성 및 노드 동기화 4. 네트워크를 하면서 중요한 점 1. 다른 노드와의 커넥트 내 IP와, 서버를 열 때 사용했던 PORT번호를 이용해서 다른 사람의 접속을 허용할 수 있다. //P2PNetwork class connet(port: number, host: string) { const socket = new net.Socket() const connection = () => this.handleConnection(socket) socket.connect(port, host, connection) } connet 함수를 이용해서 커넥션을 맺는다. connect()에 의해 handleConnection()가 ..
목차 1. P2P 2. 코드 작성하기 1. P2P 네트워크의 통신방식 중 하나인 P2P는 블록체인에서 중요한 통신방식중 하나이다. 이 P2P 방식은 클라이언트이자 서버라는 개념을 알고 시작해야 한다. 하나의 프로그램(코드들)을 작동시켜 하나의 프로세스(실행)로 실행하게 된다면 Client이자, Server가 구축되는 것이다. 코드기준으로 생각해 보면 하나의 동일한 프로그램에서 클라이언트 측과, 서버 측 코드를 작성하는 것이다. 그렇기 때문에, 각 노드는 클라이언트와 서버의 역할을 하기 때문에 중앙서버 없이 통신이 가능하다. 블록체인은 각 노드가 데이터를 저장하며 블록체인을 형성하는 분산 원장 기술이다. 그래서 블록체인에서 P2P네트워크는 각 노드가 연결되어 데이터를 주고받으며 분산 원장을 유지하고 전파하..
목차 1. 브라우저와 노드의 통신 2. 화면 구성 3. 코드 작성하기 이전 코드 https://github.com/100space/2304/tree/main/0504 GitHub - 100space/2304 Contribute to 100space/2304 development by creating an account on GitHub. github.com 1. 브라우저와 노드의 통신 브라우저와 노드 1개인 상황에서의 통신을 구현하는 코드를 작성할 것이다. 간단한 흐름을 보기 위한 코드이기 때문에 nunjucks를 이용해서 화면을 구성할 예정이고, CSS는 제외했다. 디렉토리 구조도 잘 나누어야 하지만, wallet_front 디렉토리를 이용하여 front 서버를 이용해서 화면을 그릴 것이다. 브라우저는..
목차 1. Network 2. 노드의 통신방식 3. Infura 1. Network 블록체인의 네트워크에서 핵심은 P2P이다. P2P는 "Peer-to-Peer"의 약자로 중앙 서버에 의존하지 않고 컴퓨터나 장치들이 직접적으로 연결되는 형태를 의미한다. 중앙 서버가 없기 때문에 하나의 노드에 장애가 발생하더라도 전체 시스템에 영향을 미치지 않으며, 정상적으로 작동할 수 있다. P2P 시스템 특징으로 모든 노드에서 데이터를 공유하기 때문에 거래의 투명성 및 신뢰성이 생기며, 데이터의 수정과 조작이 어렵다. 블록체인 네트워크에서의 각 노드들이 연결되며 데이터를 서로 교환하고 공유한다. 노드는 데이터를 요청하는 Client의 역할을 하면서, 데이터를 응답해 주는 Server의 역할도 할 수 있다. 2. 노드의..