Comments (4)
There is clear separation of concerns between the different ports.
The P2P port is for only peer to peer communication with other nodes. This port should be public to internet as other nodes should be able to connect to your node.
The other port (HTTP_PORT) is used only for controlling the node. It should not be public to the internet and only the user of the node should be able to access it.
This same kind of "architetcture" is used in all of the "well-known" blockchain implementations I know of (Bitcoin, Ethereum, Litecoin etc.)
from naivechain.
Websockets are needed. Although you can query the network via http but how will you broadcast to the network when you add a block. Constantly querying the network will be a very bad solution.
from naivechain.
from naivechain.
@adeora7 you have /addPeer
which could store peer addresses instead of creating a websocket client and then simply post there, you wouldn't need to do any kind of polling.
from naivechain.
Related Issues (20)
- How is difficult to manipulate (hack) this storage? HOT 3
- Crptojs SHA256 function error HOT 3
- Unknown Errors HOT 2
- Upgrade Required HOT 4
- Is it Blockchain implementation ?
- Average time of adding a block to the blockchain
- Questions about spreading fake long blockchain from “bad” nodes HOT 2
- Quick start not working..help! HOT 3
- blockchain invalid error when syncing a longer blockchain HOT 4
- how to add hash difficulty ?
- Data lost if nodes fails to connect to known peers
- How can I get an specific block?
- how to start this project if i use windows? HOT 1
- Prototype Override Protection Bypass
- Regular Expression Denial of Service (DoS)
- Regular Expression Denial of Service (ReDoS)
- Regular Expression Denial of Service (ReDoS) # 2
- Received blockchain is not longer than current Blockchain. Do Nothing
- 403 err
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from naivechain.