在某种程度上用户必须能够控制节点。这一点通过搭建一个HTTP服务器可以实现。
- var initHttpServer = () => {
- var app = express();
- app.use(bodyParser.json());# x. K) K4 R: N1 Z. K( c
- app.get('/blocks', (req, res) => res.send(JSON.stringify(blockchain)));
- app.post('/mineBlock', (req, res) => {
- var newBlock = generateNextBlock(req.body.data);
- addBlock(newBlock);
- broadcast(responseLatestMsg());8 T; F+ R2 \: V! X6 L
- console.log('block added: ' + JSON.stringify(newBlock));7 L1 A5 ]* I# t8 T
- res.send();
- });
- app.get('/peers', (req, res) => {
- res.send(sockets.map(s => s._socket.remoteAddress + ':' + s._socket.remotePort));
- });
- app.post('/addPeer', (req, res) => {+ V j3 ^/ d* B- x
- connectToPeers([req.body.peer]); h# Z. t4 ^6 \0 w
- res.send();3 _, x4 W' U* Q! r: @! \! f8 h. \
- });+ T0 m7 y% Y. `0 ^9 z5 u
- app.listen(http_port, () => console.log('Listening http on port: ' + http_port));
- };