在某种程度上用户必须能够控制节点。这一点通过搭建一个HTTP服务器可以实现。8 [2 q. u9 O! [: o
- var initHttpServer = () => {
- var app = express();! @0 A7 d% W' D% c* V6 x
- app.use(bodyParser.json());! r5 `2 D1 Y, }8 d
- app.get('/blocks', (req, res) => res.send(JSON.stringify(blockchain)));5 r- e$ t$ W* r0 b2 x' h
- app.post('/mineBlock', (req, res) => {
- var newBlock = generateNextBlock(req.body.data);* q+ A# D3 \# Y, l. I( c
- addBlock(newBlock);
- broadcast(responseLatestMsg());
- console.log('block added: ' + JSON.stringify(newBlock));
- res.send();
- });8 ?2 y5 p4 j4 B6 |" x. l9 }/ k
- app.get('/peers', (req, res) => {
- res.send(sockets.map(s => s._socket.remoteAddress + ':' + s._socket.remotePort));
- });5 _( p0 `" j- {% G; J
- app.post('/addPeer', (req, res) => {
- connectToPeers([req.body.peer]);0 c3 I) [3 X; Y; G5 {8 p& C
- res.send();
- });
- app.listen(http_port, () => console.log('Listening http on port: ' + http_port));
- };