当前位置: 代码迷 >> 综合 >> 区块链学习(四)http server
  详细解决方案

区块链学习(四)http server

热度:36   发布时间:2023-10-17 18:41:49.0

如何让你的区块链暴露到万维网

允许外部访问

package mainimport ("../core""encoding/json""io""net/http"
)var blockchain *core.Blockchainfunc run() {// 对外暴露端口http.HandleFunc("/blockchain/get", blockchainGetHandler)http.HandleFunc("/blockchain/write", blockchainWriteHandler)// 监听端口8888http.ListenAndServe("localhost:8080", nil)
}// 读数据
func blockchainGetHandler(w http.ResponseWriter, r *http.Request) {bytes, error := json.Marshal(blockchain)if error != nil {http.Error(w, error.Error(), http.StatusInternalServerError)return}// 返回json 字节io.WriteString(w, string(bytes))
}// 写数据
func blockchainWriteHandler(w http.ResponseWriter, r *http.Request) {blockData := r.URL.Query().Get("data")blockchain.SendData(blockData)blockchainGetHandler(w, r)
}func main() {blockchain = core.NewBlockchain()run()
}
  相关解决方案