在某种程度上用户必须能够控制节点。这一点通过搭建一个HTTP服务器可以实现。4 F. ]$ X- n Y1 r
- var initHttpServer = () => {
- var app = express();) r6 I, F/ y I# }
- app.use(bodyParser.json());
- app.get('/blocks', (req, res) => res.send(JSON.stringify(blockchain)));
- app.post('/mineBlock', (req, res) => {/ X5 w! X5 w3 k4 U
- var newBlock = generateNextBlock(req.body.data);) t5 Z9 ]7 b* S" ?, }( q/ h
- addBlock(newBlock);/ Q: ]" \0 S1 @# Z
- broadcast(responseLatestMsg());1 u# Y) L+ y9 V2 A0 c; t8 [
- console.log('block added: ' + JSON.stringify(newBlock));
- res.send();
- });
- app.get('/peers', (req, res) => {
- res.send(sockets.map(s => s._socket.remoteAddress + ':' + s._socket.remotePort));7 W: I! U$ D+ U9 s
- });( A# D1 T$ q, w0 G2 F- T1 {/ C
- app.post('/addPeer', (req, res) => {
- connectToPeers([req.body.peer]);
- res.send();
- });" z) N3 `! E; j2 o9 W4 u
- app.listen(http_port, () => console.log('Listening http on port: ' + http_port));) k* E# n! `3 F# F" @( D* W! u
- };