이전 포스트에서 만든 블록들을 서버에서 확인할 수 있도록 올려보겠습니다.
express
body-parser
//httpServer.js
const express = require('express')
const bodyParser = require('body-parser')
const {getVersion,nextBlock,getBlocks} = require('./chainedBlock')
const {addBlock} = require('./checkValidBlock')
이전 포스트에서 만들었던 모듈들 중에 필요한 것들도 가져오겠습니다
const http_port = process.env.HTTP_PORT || 3001;
function initHttpServer() {
const app = express();
app.use(bodyParser.json());
// /blocks
app.get("/blocks", (req, res) => {
res.send(getBlocks());
});
// block 생성
app.post("/mineBlock", (req, res) => {
const data = req.body.data || [];
const block = nextBlock(data);
addBlock(block);
res.send(block);
});
// 버전 확인
app.get("/version", (req, res) => {
res.send(getVersion());
});
// 서버 중단
app.post("/stop", (req, res) => {
res.send({ msg: "Stop Server" });
process.exit();
});
app.listen(http_port, () => {
console.log("Listening Http Port : ", http_port);
});
}
initHttpServer();
curl -H "Content-type: application/json" --data "{\"data\":[\"Anything1\",\"Anything2\"]}" -X POST [http://localhost:3001/mineBlock](http://localhost:3001/mineBlock)