区块链链游系统开发方案解析及(成熟代码)

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 区块链链游系统开发方案解析及(成熟代码)

DAPP的底层区块链开发平台,就像手机的iOS和Android系统一样,是各种DAPP的潜在生态环境。DApp是源自底层区块链平台生态的各种分布式应用程序,也是区块链世界中的基本服务提供商。Dapp在区块链中,就像应用程序在iOS和Android中一样。

dapps/0599a6100280df0d296653e89177b9011304d971fb98aba3edcc5b937c4183fb/

☆--块链。db//app数据库文件与主链中的数据分开存储

☆--配置。json//应用程序的节点配置文件目前主要用于配置受托方的密钥

☆-合同/合同目录

│L——域的实现代码。js//域名合同

☆--短小精悍。json//用于注册dapp的图元文件

☆-开端json//Genesis块

☆--初始化。js//应用程序初始化代码,可用于某些设置、事件注册等

☆-interface//查询接口的实现目录

│☆--域的实现。js//域名查询接口

│└──你好世界.js

☆--logs//日志目录

基于worker模板创建一个基础项目:dotnet new worker -n MassTransit.Demo
打开项目,添加NuGet包:MassTransit
定义订单创建事件消息契约:
using System;

namespace MassTransit.Demo
{

public record OrderCreatedEvent
{
    public Guid OrderId { get; set; }
}

}
复制
修改Worker类,发送订单创建事件:
namespace MassTransit.Demo;

public class Worker : BackgroundService
{

readonly IBus _bus;//注册总线
public Worker(IBus bus)
{
    _bus = bus;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
    while (!stoppingToken.IsCancellationRequested)
    {
        //模拟并发送订单创建事件
        await _bus.Publish(new OrderCreatedEvent(Guid.NewGuid()), stoppingToken);
        await Task.Delay(1000, stoppingToken);
    }
}

}
复制
仅需实现IConsumer泛型接口,即可实现消息的订阅:
public class OrderCreatedEventConsumer: IConsumer
{

private readonly ILogger<OrderCreatedEventConsumer> _logger;
public OrderCreatedEventConsumer(ILogger<OrderCreatedEventConsumer> logger)
{
    _logger = logger;
}
public Task Consume(ConsumeContext<OrderCreatedEvent> context)
{
    _logger.LogInformation($"Received Order:{context.Message.OrderId}");
    return Task.CompletedTask;
}

}
复制
注册服务:
using MassTransit;
using MassTransit.Demo;

IHost host = Host.CreateDefaultBuilder(args)

.ConfigureServices(services =>
{
    services.AddHostedService<Worker>();
    services.AddMassTransit(configurator =>
    {
        //注册消费者
        configurator.AddConsumer<OrderCreatedEventConsumer>();
        //使用基于内存的消息路由传输
        configurator.UsingInMemory((context, cfg) =>
        {
            cfg.ConfigureEndpoints(context);
        });
    });
})
.Build();

await host.RunAsync();
复制
运行项目,一个简单的进程内事件发布订阅的应用就完成了。
如果需要使用RabbitMQ 消息代理进行消息传输,则仅需安装MassTransit.RabbitMQNuGet包,然后指定使用RabbitMQ 传输消息即可。

using MassTransit;
using MassTransit.Demo;

IHost host = Host.CreateDefaultBuilder(args)

.ConfigureServices(services =>
{
    services.AddHostedService<Worker>();
    services.AddMassTransit(configurator =>
    {
        configurator.AddConsumer<OrderCreatedEventConsumer>();
        
        // configurator.UsingInMemory((context, cfg) =>
        // {
        //     cfg.ConfigureEndpoints(context);
        // });
        
        configurator.UsingRabbitMq((context, cfg) =>
        {
            cfg.Host(
                host: "localhost",
                port: 5672,
                virtualHost: "/",
                configure: hostConfig =>
                {
                    hostConfig.Username("guest");
                    hostConfig.Password("guest");
                });
            cfg.ConfigureEndpoints(context);
        });
    });
})
.Build();

await host.RunAsync();

相关文章
|
6天前
|
机器学习/深度学习 数据采集 算法
特征工程与数据预处理全解析:基础技术和代码示例
在机器学习和数据科学的世界里,数据的质量是建模成功与否的关键所在。这就是特征工程和数据预处理发挥作用的地方。本文总结的这些关键步骤可以显著提高模型的性能,获得更准确的预测,我们将深入研究处理异常值、缺失值、编码、特征缩放和特征提取的各种技术。
11 0
|
11天前
结构体\判断日期是否合法(代码分步解析)
结构体\判断日期是否合法(代码分步解析)
8 1
|
2月前
|
机器学习/深度学习 存储 并行计算
深入解析xLSTM:LSTM架构的演进及PyTorch代码实现详解
xLSTM的新闻大家可能前几天都已经看过了,原作者提出更强的xLSTM,可以将LSTM扩展到数十亿参数规模,我们今天就来将其与原始的lstm进行一个详细的对比,然后再使用Pytorch实现一个简单的xLSTM。
78 2
|
2天前
|
C语言
C语言实现猜数字游戏:代码详解与函数解析
C语言实现猜数字游戏:代码详解与函数解析
6 0
|
24天前
数据结构学习记录——堆的删除(思路图解、代码实现、逐段解析)
数据结构学习记录——堆的删除(思路图解、代码实现、逐段解析)
14 1
|
3天前
|
存储 安全 Java
Java文件操作,让你的代码更“有型”!读写、复制、删除全解析!
【6月更文挑战第27天】在Java中进行文件操作是程序基础功能之一,涉及读写、复制和删除。使用`FileReader/FileWriter`进行文本文件的读写,如示例所示,通过`try-with-resources`保证资源释放。文件复制利用`FileInputStream/FileOutputStream`,而删除文件则依赖`File`的`delete()`方法,确保条件安全执行。这些标准库类提供了高效且健壮的文件管理能力。
|
25天前
|
存储 算法 Java
必会的10个经典算法题(附解析答案代码Java/C/Python看这一篇就够)(二)
必会的10个经典算法题(附解析答案代码Java/C/Python看这一篇就够)(二)
23 1
|
2月前
|
JSON 监控 网络协议
局域网管理软件的DNS解析代码实践
本文介绍了如何使用Python实现DNS解析,通过示例代码展示了构建和解析DNS请求的过程。此外,还讨论了网络流量监控,利用psutil库获取网络接口的流量数据。最后,探讨了自动将监控数据提交到网站的方法,使用requests库将网络数据以JSON格式发送到指定网站。这些自动化工具提升了局域网管理效率和安全性。
443 1
|
10天前
|
存储 算法 Java
面试高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 二分 + 哈希表 + 堆 + 优先队列 合集
面试高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 二分 + 哈希表 + 堆 + 优先队列 合集
|
2月前
|
C++
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】

热门文章

最新文章

推荐镜像

更多