如何从0开始开发一个区块链的应用

资讯 2024-06-28 阅读:37 评论:0
区块链技术最近大热,币圈的人在忙着炒币,链圈的人忙着研究相关技术。做为一个技术人员,如果不了解点区块链技术都有点落伍的感觉。那么对技术人员来说,可能更关心的是区块链技术能做什么,如何从0开始做一个区...

区块链技术最近大热,币圈的人在忙着炒币,链圈的人着研究相关技术。做为一个技术人员,如果不了解点区块链技术都有点落伍的感觉。那么对技术人员来说,可能更关心的是区块链技术能做什么,如何从0开始做一个区块链的项目。下面我们就是探讨这个话题,抛去需求分析等不谈,我们就谈谈如何搭建一个开发生产环境。无非两种方式:采用传统的本地搭建和采用云的方式。区块链有很多开源技术可选择,在企业应用领域,一般采用Hyperledger Fabric,我们就以它为例子。

先来看看如果你想在本地搭建一个Hyperledger Fabric1.0运行和开发环境。需要哪些步骤。我们以最新的Hyperledger Fabric1.0为例,需要的软件及版本可参见:https://hyperledger-fabric.readthedocs.io/en/release-1.0/prereqs.html

操作系统我们以Oracle Linux 7为例子。

We use Oracle Linux 7, for example.

因为Docker EE版本已经不开源,所以只能安装Docker CE 版本,以Oracle Linux 7为例,具体安装可参考

because the Docker EE version is no longer open-sourced, only the Docker CE version can be installed, for example, with Oracle Linux 7, which can be consulted

https://blogs.oracle.com/hlsu/install-docker-on-oracle-linux-7

详细步骤如下:

The detailed steps are as follows:

# cd etc/yum.repos.d/

# wget http://yum.oracle.com/public-yum-ol7.repo

# vi public-yum-ol7.repo

修改下面红色部分

 [ol7_addons]

name=Oracle Linux $releasever Add ons ($basearch)

baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/addons/$basearch/

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

gpgcheck=1

enabled=1

 然后执行

& nbsp; then execute


 

具体可参考文档 https://docs.docker.com/compose/install/#install-compose

 

 

执行:

wget https://www.golangtc.com/static/go/1.9.2/go1.9.2.linux-amd64.tar.gz

然后解压到:/usr/local/go下,并设置PATH环境变量:

export PATH=$PATH:/usr/local/go/bin

如果需要Go 语言的IDE,可以采用SublimeText 3,安装过程可参考:

SublimeText 3 can be used if IDE in Go language is required. The installation process can be consulted:

https://www.sublimetext.com/docs/3/linux_repositories.html#yum

 

 

执行:wget https://nodejs.org/dist/v8.9.3/node-v8.9.3-linux-x64.tar.xz

解压到:/usr/local/nodejs下,并设置PATH环境变量:

repress to: /usr/local/nodejs and set PATH environment variable:

export PATH=$PATH:/usr/local/nodejs/bin

然后执行:npminstallnpm@3.10.10 -g

 

如果报下面的错误:

解决方法,执行:

Solutions, execution:

sudo gpasswd -a ${USER} docker

 

 

具体见:https://hyperledger-fabric.readthedocs.io/en/release/samples.html

gitclonehttps://github.com/hyperledger/fabric-samples.git

执行:curl -sSLhttps://goo.gl/byy2Qj | bash -s1.0.5

如果访问不了,可访问goo.gl/byy2Qj对应的URL:

gl/ . >. >/span style="font-family: Song body; >gl/ / >by2Qj /span

https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap-1.0.3.sh

可直接wget https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap-1.0.3.sh该文件, 然后在本地执行:sh bootstrap-1.0.3.sh 1.0.5

the document,

 

下载完成后,可参考

sample跑起来

https://hyperledger-fabric.readthedocs.io/en/release/write_first_app.html sample

 

注意:registerUser.js 需要把:

need to read:

returnfabric_ca_client.register({enrollmentID: 'user1', affiliation:'org1.department1'}, admin_user);

修改为:returnfabric_ca_client.register({enrollmentID: 'user1', affiliation:'org1.department1',role: 'client'}, admin_user);才能跑起来

changed to read to run away

orderer      | 2017-12-23 13:15:24.155 UTC [common/configtx] addToMap -> DEBU 19a Adding to config map: [Values] Channel/Consortium
orderer      | 2017-12-23 13:15:24.155 UTC [orderer/common/broadcast] Handle -> WARN 19b Rejecting CONFIG_UPDATE because: Error authorizing update: Error validating ReadSet: Readset expected key [Groups] Channel/Application at version 0, but got version 1
orderer      | 2017-12-23 13:15:24.155 UTC [orderer/main] func1 -> DEBU 19c Closing Broadcast stream
orderer      | 2017-12-23 13:15:24.167 UTC [orderer/common/deliver] Handle -> WARN 19d Error reading from stream: rpc error: code=Canceled desc=context canceled
orderer      | 2017-12-23 13:15:24.168 UTC [orderer/main] func1 -> DEBU 19e Closing Deliver stream

 

从前面的说明可以看出,要自己搭建一个本地的Hyperledger Fabric1.0运行环境还是比较麻烦的,如果要部署一个生产系统要考虑的东西更多,如容量估算,软硬件的采购安装,可靠性,扩展性,安全性的考虑,账本数据的存储维护等问题。

如今已经进入云时代,如果我们采用云的方式来运行区块链应用则可以大大简化上面这些问题。以Oracle区块链云服务BCS为例子:

首先创建区块链网络,如下图:

在Oracle BCS上面区块链网络创建好之后,可以进入管理控制台进行部署,管理,运维等工作。

我们可以把开发好的智能合约(在Fabric中称为ChainCode部署到区块链网络上)部署到BCS上面,如下图:

然后做一下初始化,就可以运行该智能合约了。前端应用通过REST接口调用部署好的智能合约了。下面是一个调用的例子:

可以看出,在Oracle BCS上面开发,部署区块链应用相比在本地自己搭建一个区块链的开发运行环境要简单可靠的多。总结下来,Oracle BCS有如下优势:


我们基于Oracle的区块链云服务BCS做了一个区块链食品追溯DEMO,感兴趣的可以下载感受一下。

 Android手机APP:扫描或长按下面的二维码下载

 

苹果手机APP:扫描或长按下面的二维码下载



作者简介

徐春金,甲骨文云平台PaaS资深咨询顾问,专注于甲骨文PaaS相关产品及解决方案。具有17+年的中间件技术,产品,方案和项目实施经验。熟悉电信,电商行业。您可以通过chun.jin.xu@oracle.com与他联系。




了解更多,敬请关注甲骨文开发者社区......



文字格式和图片示例

注册有任何问题请添加 微信:MVIP619 拉你进入群

弹窗与图片大小一致 文章转载注明

分享:

扫一扫在手机阅读、分享本文

发表评论
热门文章
  • 以太坊区块链浏览器的搭建

    以太坊区块链浏览器的搭建
    环境;Ubuntu 首先需要下载git 参考链接:?http://www.360bchain.com/article/156.html??Environment; Ubuntu first needs to download git reference link: ˂a rel="noformlow" href="http://www.360bchai.com/article/156.html"? http://www.360bchai.com/article/156.htm...
  • 百度元宇宙希壤app官方下载

    百度元宇宙希壤app官方下载
    希壤元宇宙是一款非常好玩的休闲手游,这款游戏采用了元宇宙的游戏概念,超级自由的游戏玩法,在这里没有什么标准限定,你可以自由的在这里进行着一切你想做的事情,游戏比较的休闲和放松,没有什么操作难度,感兴趣的小伙伴们可以来007游戏网下载这款非常有趣的希壤元宇宙吧!˂a href=http://m.yx007.com/key/xxsy" target="_blank" , a game that uses the concept of meta-cosm, super-free p...
  • 【CoinCentral 合作內容】加密貨幣 Decred 正式推出 2018 發展路段線圖

    【CoinCentral 合作內容】加密貨幣 Decred 正式推出 2018 發展路段線圖
    早些時候,加密貨幣Decred發表了一篇博客文章,概述了他們2018年的正式發展路線圖。Earlier, encrypt currency Decred published a blog article outlining their official road map for development in 2018.在這個路線圖中,團隊在為他們制定營銷宣傳之前,明確地表明他們於建立和發布可交付物品的成果,同時將他們的營銷集中在項目的核心組成部分。Decred團隊正在研究一些...
  • 跨接在两个网络间的语音记录仪设计

    跨接在两个网络间的语音记录仪设计
      摘  要: 设计了语音记录仪。该语音记录仪桥接在通信设备之间,同时提供3种桥接接口:以太网接口,支持在IP通信方式下的各通话组的直通及录音功能;二线接口,支持模拟二线方式下的直通及录音功能;音频接口,支持模拟音频方式下的直通及录音功能。同时话音记录仪提供FTP服务器,可以通过局域网对语音记录仪保存的语音文件进行下载和管理。此外,该设备支持语音回放功能。 extracts & nbsp; to : The voice record...
  • 元宇宙概念股有哪些 元宇宙概念股一览表

    元宇宙概念股有哪些 元宇宙概念股一览表
    元宇宙概念股排行精选 元宇宙概念股一览表(2022/11/08),下文就随小蔡来简单的了解一下吧。The contours of the meta-cosmology unit are in the list of the meta-cosmological concept units (2022/11/08), so let's get to the bottom of this with Little Choi. 元宇宙概念股龙头有:The contou...
标签列表