马蹄链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<ushort>( 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_data[3][3] = { 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
相关文章
- pychram安装教程
- kettle 教程(一):简介及入门「建议收藏」
- 移动机械硬盘测试软件,硬盘检测工具HDTune使用教程
- ElasticSearch教程_Elasticsearch原理
- 【DataEase】零代码数据可视化分析工具的安装部署保姆级教程
- django 项目部署详细教程 【uwsgi + nginx】「建议收藏」
- LP流动性质押挖矿系统开发合约部署教程
- 二进制部署k8s教程19 - 加入worker节点
- 二进制部署k8s教程17 - 最后总结
- 二进制部署k8s教程15 - 部署kubelet[自签名方式]
- 二进制部署k8s教程08 - 部署controller-manager
- 二进制部署k8s教程06 - 部署apiserver
- 二进制部署k8s教程05 - 操作命令别名
- 二进制部署k8s教程01 - ssl证书
- 【教程】如何在服务器上部署豆瓣小组抢沙发聊天机器人
- win桌面美化教程
- axure是什么软件,axure怎么用,axure软件中文版安装教程下载
- CentOS下宝塔部署Django项目的详细教程
- Oracle WebLogic Server 12.2.1.2安装部署教程
- 用户Linux删除MySQL用户的步骤教程(liunx删除mysql)
- 快速部署Linux系统快盘精彩教程(快盘linux)
- Oracle 10g安装指南:轻松部署你的系统(oracle10g安装教程)
- 教你使用Oracle数据库:快速上手指南(oracle数据库教程)
- Linux 目录改名教程:如何使用命令行改变文件夹名称(linux目录改名)
- SSM框架结合Redis实现快速教学部署(ssm使用redis教程)
- 如何快速安装MySQL详细步骤分享腾讯云数据库MySQL下载安装教程,轻松搞定数据库部署
- MySQL Tar包下载教程快速上手,让你轻松获取数据库服务(mysql下载tar)
- Windows2003服务器安全配置终极技巧图文教程
- win2003分布式文件系统及其部署图文教程