栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

币安BSC链农场游戏开发详情,BSC链币安农场游戏链游系统开发技术原理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

币安BSC链农场游戏开发详情,BSC链币安农场游戏链游系统开发技术原理

目前主流的区块链技术架构主要分为五层,数据层是最底层的技术,主要实现了数据存储、账户信息、交易信息等模块,数据存储主要基于Merkle树,通过区块的方式和链式结构实现,而账户和交易基于数字签名、哈希函数和非对称加密技术等多种密码学算法和技术,来保证区块链中数据的安全性。

网络层主要实现网络节点的连接和通讯,又称点对点技术,各个区块链节点通过网络进行通信。共识层是通过共识算法,让网络中的各个节点对全网所有的区块数据真实性正确性达成一致。

 

 


@Component
public class P2PServer {

  @Autowired
  P2PService p2pService;

  public void initP2PServer(int port) {
    WebSocketServer socketServer = new WebSocketServer(new InetSocketAddress(port)) {

     
      @Override
      public void onOpen(WebSocket webSocket, ClientHandshake clientHandshake) {
        p2pService.getSockets().add(webSocket);
      }

     
      @Override
      public void onClose(WebSocket webSocket, int i, String s, boolean b) {
        p2pService.getSockets().remove(webSocket);
        System.out.println("connection closed to address:" + webSocket.getRemoteSocketAddress());
      }

     
      @Override
      public void onMessage(WebSocket webSocket, String msg) {币安农场游戏开发详情V:MrsFu123
        //作为服务端,业务逻辑处理
        p2pService.handleMessage(webSocket, msg, p2pService.getSockets());
      }

     
      @Override
      public void onError(WebSocket webSocket, Exception e) {
        p2pService.getSockets().remove(webSocket);
        System.out.println("connection failed to address:" + webSocket.getRemoteSocketAddress());
      }

      @Override
      public void onStart() {

      }

    };
    socketServer.start();
    System.out.println("listening websocket p2p port on: " + port);
  }
}
 

.java


@Component
public class P2PClient {
  
  @Autowired
  P2PService p2pService;

  public void connectToPeer(String addr) {
    try {
      final WebSocketClient socketClient = new WebSocketClient(new URI(addr)) {
        @Override
        public void onOpen(ServerHandshake serverHandshake) {
          //客户端发送请求,查询最新区块
          p2pService.write(this, p2pService.queryLatestBlockMsg());
          p2pService.getSockets().add(this);
        }

       
        @Override
        public void onMessage(String msg) {
          p2pService.handleMessage(this, msg, p2pService.getSockets());
        }

        @Override
        public void onClose(int i, String msg, boolean b) {
          p2pService.getSockets().remove(this);
          System.out.println("connection closed");
        }

        @Override
        public void onError(Exception e) {
          p2pService.getSockets().remove(this);
          System.out.println("connection failed");
        }
      };
      socketClient.connect();
    } catch (URISyntaxException e) {
      System.out.println("p2p connect is error:" + e.getMessage());
    }
  }
}

 


  // 查询最新的区块
  public final static int QUERY_LATEST_BLOCK = 1;

  // 返回最新的区块
  public final static int RESPONSE_LATEST_BLOCK = 2;

  // 查询整个区块链
  public final static int QUERY_BLOCKCHAIN = 3;

  // 返回整个区块链
  public final static int RESPONSE_BLOCKCHAIN

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/874548.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号