马蹄链DAPP系统开发技术搭建部署教程

简介: 马蹄链DAPP系统开发技术搭建部署教程

​​DAPP是分散应用的缩写,也是分散应用。

在某种程度上,比特币可以说是第一个出现的DAPP,因为它完全开源,为贡献者提供奖励,不受中央机构控制,并使用区块链作为支持技术。

作为一种基础设施,区块链提供了一个分布式和分散的可信数据库。基于此,人们可以针对不同的场景开发各种应用程序。

简单地说,DApp和普通应用程序具有相同的原理,但它们是完全分散的。与以太坊网络本身一样,DAPP由自己的节点操作,不依赖任何集中式服务器。DAPP是分散的,可以自动运行。

目前,DApp通常是指基于智能合约在以太坊或EOS上开发的相关应用程序。

1 // 计算图像间的运动关系 2 // 关键函数:cv::solvePnPRansac() 3 // 为调用此函数准备必要的参数 4 5 // 第一个帧的三维点 6 vector<cv::Point3f> pts_obj; 7 // 第二个帧的图像点 8 vector< cv::Point2f > pts_img; 9 10 // 相机内参 11 CAMERA_INTRINSIC_PARAMETERS C; 12 C.cx = 325.5; 13 C.cy = 253.5; 14 C.fx = 518.0; 15 C.fy = 519.0; 16 C.scale = 1000.0; 17 18 for (size_t i=0; i<goodMatches.size(); i++) 19 { 20 // query 是第一个, train 是第二个 21 cv::Point2f p = kp1[goodMatches[i].queryIdx].pt; 22 // 获取d是要小心!x是向右的,y是向下的,所以y才是行,x是列! 23 ushort d = depth1.ptr( int(p.y) )[ int(p.x) ]; 24 if (d == 0) 25 continue; 26 pts_img.push_back( cv::Point2f( kp2[goodMatches[i].trainIdx].pt ) ); 27 28 // 将(u,v,d)转成(x,y,z) 29 cv::Point3f pt ( p.x, p.y, d ); 30 cv::Point3f pd = point2dTo3d( pt, C ); 31 pts_obj.push_back( pd ); 32 } 33 34 double camera_matrix_data3 = { 35 {C.fx, 0, C.cx}, 36 {0, C.fy, C.cy}, 37 {0, 0, 1} 38 }; 39 40 // 构建相机矩阵 41 cv::Mat cameraMatrix( 3, 3, CV_64F, camera_matrix_data ); 42 cv::Mat rvec, tvec, inliers; 43 // 求解pnp 44 cv::solvePnPRansac( pts_obj, pts_img, cameraMatrix, cv::Mat(), rvec, tvec, false, 100, 1.0, 100, inliers );​​​​
复制
什么是区块链节点?
站在一个high level角度讲, 区块链节点由以下关键组件组成:

Storage
Peer-to-peer networking
Consensus capabilities
Data handling capabilities for external or "extrinsic" information
A Runtime
由于构建这些组件的复杂性,大多数区块链项目都是从现有的区块链项目中分叉出来的。例如,比特币存储库被分叉创建:莱特币,ZCash,Namecoin和Bitcoin Cash。同样,以太坊存储库被分叉以创建Quorum,POA Network,KodakCoin和Musicoin。

[图片上传失败...(image-29f316-1650860902045)]

然而,现有的区块链平台并不是为了允许修改而设计的。因此,通过分叉构建新的区块链具有严重的局限性。

什么是Substrate?
Substrate是一个用于构建区块链的开源、模块化和可扩展的框架。

Substrate从头开始设计,具有灵活性,允许创新者设计和构建满足其需求的区块链网络。它提供了构建自定义区块链节点所需的所有核心组件。

安装依赖
Substrate开发在基于UNIX的操作系统(如macOS或Linux)上是最容易的。

要在 macOS 或 Linux 上安装所需的软件包,请执行以下操作:

在计算机上打开终端程序。
在下表中找到您的操作系统,并运行适用于您的开发环境的相应命令。
操作系统

安装命令

Ubuntu 或 Debian

sudo apt update && sudo apt install -y git clang curl libssl-dev llvm libudev-dev

Arch Linux

pacman -Syu --needed --noconfirm curl git clang

fedora

sudo dnf update sudo dnf install clang curl git openssl-devel

OpenSUSE

sudo zypper install clang curl git openssl-devel llvm-devel libudev-devel

macOS

brew update && brew install openssl

如果您使用的是 macOS 且未安装 Homebrew,请运行以下命令来安装 Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
复制
安装完成后,运行 :brew install openssl

相关文章
|
传感器 监控 测试技术
Visual Studio 2022 常用快捷键,记录一下别忘记~
Visual Studio 2022 常用快捷键,记录一下别忘记~
2307 0
|
移动开发 JavaScript C#
总有一个是你想要的分享31个游戏源代码
该资源分享了31款游戏源代码,包括C#版植物大战僵尸、HTML5版五子棋等,均经过亲测可运行。下载链接中还包含13款游戏源码,适合游戏开发者和爱好者学习参考。作者辛苦整理,希望得到您的点赞与关注作为支持。
806 1
|
存储 Android开发 iOS开发
指导:大量联系人电话号码怎么导入iphone苹果手机通讯录?
想有没有简单的办法能帮我来快速批量操作完成,在网上查了很多方法都很复杂,搞了半天精疲力尽,在我快要放弃的时候遇到了一个网上常见简便的软件工具,金芝号码提取导入助手。它很轻松就解决了我的问题:大量联系人电话号码怎么导入iphone苹果手机通讯录?当然了安卓手机也是可以导入的,通用。我写了一个详细的图文教程。
3320 0
指导:大量联系人电话号码怎么导入iphone苹果手机通讯录?
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
1907 5
|
JavaScript 测试技术 开发工具
Git 分支设计规范
Git 分支设计规范
462 11
|
算法 搜索推荐 开发者
解锁Python代码的速度之谜:性能瓶颈分析与优化实践
探索Python性能优化,关注解释器开销、GIL、数据结构选择及I/O操作。使用cProfile和line_profiler定位瓶颈,通过Cython减少解释器影响,多进程避开GIL,优化算法与数据结构,以及借助asyncio提升I/O效率。通过精准优化,Python可应对高性能计算挑战。【6月更文挑战第15天】
2064 1
|
SQL 关系型数据库 Java
有大批量的数据导入到数据库,规则是数据库有相应主键的就update没有就insert怎么做效率快
有大批量的数据导入到数据库,规则是数据库有相应主键的就update没有就insert怎么做效率快
280 1
|
测试技术 持续交付
深入理解白盒测试:静态分析与动态测试的融合
【4月更文挑战第16天】 本文旨在探讨软件测试领域中白盒测试技术的高级应用,特别是如何通过结合静态分析和动态测试的方法来提升测试效率和质量。文章首先回顾了白盒测试的基本概念,随后详细介绍了静态代码分析技术在白盒测试中的应用,以及如何设计有效的测试用例进行动态测试。文中还讨论了现代软件复杂性对白盒测试的挑战以及可能的解决方案。最后,通过案例研究展示了综合运用这些技术的优势。
338 1
|
SQL 搜索推荐 大数据
小红书如何实现高效推荐?解密背后的大数据计算平台架构
小红书作为生活分享类社区,目前有8500万用户,年同比增长为300%,大约每天有30亿条笔记在发现首页进行展示。推荐是小红书非常核心且重要的场景之一,本文主要分享在推荐业务场景中小红书的实时计算应用。
7354 0
|
编解码 数据可视化 Linux
统信UOS入门设置(简单使用说明)
统信UOS入门设置(简单使用说明)
统信UOS入门设置(简单使用说明)