终于过了一把区块链的瘾

这篇具有很好参考价值的文章主要介绍了终于过了一把区块链的瘾。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在很早以前,一个网站还只对应着一个数据库,所有的数据都以一定规则存储在某台服务器上。假设这台存储数据的服务器宕机了并且数据还没有进行备份,那么结局你懂的。。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

人们意识到了要将数据或者流量分布在不同的节点上以防止突发情况——分布式技术诞生了。但尽管如此,分布式技术也同样会带来些许问题,比如多节点数据同步、以及节点权限等问题。

后来人们思考,是否可以在分布式的思想基础上做到权限统一、共同维护的特点?就像是每个人手握一份”账本“,所有人都能看到相同的记录,然后再统一地校验数据呢?

于是**「分布式账本」被提倡了出来。秉着”公开透明“、”不可伪造“、”不可篡改“的特点,它成为了区块链的核心,让区块链**迅速进入了人们的视野。

什么是区块链?

6月底,我参加了首届techoday腾讯技术开放日的活动,了解了区块链的技术背景和市场价值,我决定跟大家分享一下⬇️⬇️⬇️

使用区块链技术你可以知道一款产品从生产到流通环节的全过程;作为近年来趋于成熟的技术,它被用于支付、产品检验等众多领域。

你可以理解为它是由“区块” + “链”组成,这条链接串联起了一个个区块。即使分布形式上和传统数据库有所不同,其本质功能也是用于承载信息流,每一条信息流都是以数据记录为基本单位来存储的。区块和区块之间通过广播的方式进行通信,那么通信的目的又是什么呢?没错,一切都是为了交易。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

整个区块链其实都是一个不断实时同步的分布式账本,每个区块节点相当于一个账本。在这个账本上,每一个动作都可以算作一笔“交易”,这样一笔笔的交易构成了区块链的全部。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

我们上面说了区块链存储的基本单位是数字记录,所以你可以理解**”交易“的过程就是一笔笔数字被记录的过程。**

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

知道了交易,我们还需要了解一下另外几个术语:

上链

因为区块链是由一个个账本连接起来的区块链接。所以想要加入到这条链中就需要上链登记,这是使用区块链重要的一步。

通过上链就可以将我们局域实现的“账本”共享到区块链。比如想发挥你项目的优势让更多人认识你的业务,只需要将它进行上链,区块链会将你做的事情都记录下来并且广播给其他人。这个记录是公开透明的,会伴随着这条链永久存在。

那我们要如何创造一条记录呢?

哈希算法

我们上链的每一条记录必须是系统认可且实际发生过的存在,所以就需要使用到哈希加密。哈希算法想必大家都熟。以MD5算法为例,任何一串字符使用它加密后都会得到一串独一无二的散列值,只要原输入有任何改动经过哈希加密后的数字就会完全不同。所以使用区块链之后任何信息都无法更改,即便你是系统管理员。这就保证了信息的安全透明。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

智能合约

啥是合约嘞?举一个生活中的栗子,假如你往自动售货机里面投入了两枚硬币,因为售货机已经事先设置了固定程序,所以它会吐出你所选的饮料出来。这就是你和售货机之间的“合约”。

区块链的智能合约,就是你事先在区块链平台定义的固定承诺。因为区块链的特点是“数字化”,所以智能合约就是用数字和程序的方式定义的“承诺“,所有的行为都基于这一系列承诺而执行。所以我们的应用开发过程在区块链就是一个写合约的过程。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

另外,这一系列合约记录都是不可删除的哟。

怎么用呢?

还是拿腾讯云为例,我带大家手把手操作。

首先进入腾讯云TBaaS官网https://console.cloud.tencent.com/tbaas/ ,点击「免费体验长安链」-选择适合自己的测试组织-之后进入控制中心。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列chainmaker-docker-go-contract:v2.3.0,《课代表》系列

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

来到长安链区块链网络的控制中心,你就可以看到节点的整体情况了。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

腾讯云一共提供了4个组织4个节点,每个节点都是16核,32G和1000GB的磁盘存储。好家伙,这个配置实属是高呀。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

你可以看到其它用户的上链信息和交易列表。

正如你所见的,区块链上的交易信息都是透明的,包括交易笔数,交易时间和组织等。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

ok,在知道了它的整体布局之后,下一步的操作就是去安装智能合约。

长安链为我们提供了智能合约Demo,使用的合约语言是长安链自研的DockerGo,我们需要在合约详情中下载合约文件。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

下载完毕之后需要将合约进行编译,流程可以查看开发指南,我这里也带大家详细编译一遍~

此次编译需要在Linux环境下并且安装docker哟。

首先输入以下命令拉取一下长安链的docker镜像,静静的等待它完成。

docker pull chainmakerofficial/chainmaker-docker-go-contract:v2.2.1

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

安装完镜像后执行以下docker run命令,目的是将上面下载好的链接挂在到你的工作目录中以便随时能用。$WORK_DIR就是你的工作目录所在路径。

docker run -it --name chainmaker-docker-go-contract -v $WORK_DIR:/home chainmakerofficial/chainmaker-docker-go-contract:v2.2.1 bash

接下来就是比较重点的部分了,需要进行合约的编译和压缩。

cd /home    
tar xvf /data/contract_docker_go_template.tar.gz
cd contract_docker_go
./build.sh
please input contract name, contract name should be same as name in tx: 
<contract_name> #此处contract_name必须和交易中的合约名一致
please input zip file: 
<zip_file_name> #建议与contract_name保持一致(不包含文件后缀)

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

按照我上面的步骤安装,看到Everything is Ok后,那就说明编译成功了。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列以上这个就是我们编译好的文件啦,下一步只需要将它装进合约文件⬇️

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

点击确认,一个新的合约就生成好了。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

除了DockerGo,目前一共还支持Solidity、Rust、C++ 四种编程语言。每一种智能合约官方都写了详细的参考文档,点击你对应的语言即可查看详细文档:

智能合约开发(DockerGo)

智能合约开发(Solidity)

智能合约开发(Rust)

智能合约开发(C++)

安装完智能合约之后就是去测试它是否成功,这也是距离使用区块链最近的一步了。点击**「快速上链」**,发起快速调用。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

上链操作完毕后就会返回上链结果了:

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

达到了这里,就代表着你已经成功进入到区块链了。连接建立后最后一步就要**让TBaaS和我们的应用做对接了。**这里也就是业务衔接的部分。

具体对接过程你可以查阅:云 API 对接说明

完事之后你的业务行为就会被视为交易发送到链上,通过【区块链浏览器】就可以一眼查阅实时的交易记录。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列chainmaker-docker-go-contract:v2.3.0,《课代表》系列

TBaaS平台就这么将区块链实现可视化,接下来你就可以自由查看区块和交易去感受区块链了~

总结

区块链给咱的整体操作过程就是一个从加入体验网络->安装智能合约->业务对接->交易申请的过程,在此之后就可以轻松地在腾讯云后台上查看到你的节点和业务的关联信息了。

chainmaker-docker-go-contract:v2.3.0,《课代表》系列

较比传统的业务平台搭建和监控确实更加便捷迅速,成本也更低。我认为作为腾讯云的重点建设项目TBaaS平台今后也会研发出更多丰富的功能,值得期待一波。 chainmaker-docker-go-contract:v2.3.0,《课代表》系列

在这次TechoDay腾讯技术开放日上,除了区块链,开放日上还介绍了serverless,lighthouse等热门产品的技术原理解读——原来我可能觉得这种厂商活动可能主要就是打广告,但这次活动上的“架构原理场”,还是介绍很多通用技术的基础原理,感兴趣的同学可以下载这个课件精华版:《腾讯云工具指南》,对很多技术领域的入门还是挺有意义的。

下载地址文章来源地址https://www.toymoban.com/news/detail-791168.html

到了这里,关于终于过了一把区块链的瘾的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 区块链的关键技术

    区块链的四大核心技术:1、分布式账本,在区块链中起到了数据的存储作用;2、共识机制,在区块链中起到了统筹节点的行为,明确数据处理的作用;3、密码学,可以保证数据安全,验证数据归属;4、智能合约,在区块链中起到了数据执行与应用的功能。 首先,P2P网络是

    2024年02月02日
    浏览(43)
  • 区块链的工作原理

    区块链:去中心化的分布式数据库 大家都知道,“比特币”是一种数字货币。而“区块链”就是比特币的记账系统。可以把区块链想象成一个账本,上面记录了全球所有的比特币交易信息。那么,区块链跟传统的银行记账有什么区别呢? 这就涉及到区块链的本质了:区块链

    2024年01月23日
    浏览(40)
  • 简易区块链的实现

    区块链产生逻辑 区块链中的区块通常被实现为特定的结构体。每个区块包含了一些数据、一个时间戳、以及两个哈希值:一个是自身的哈希值,另一个是前一个区块的哈希值。 区块链中的区块通过这两个哈希值的连接来实现自动连接的。每个区块的哈希值都是由该区块的数

    2024年04月08日
    浏览(73)
  • 区块链的技术

    区块链的存储基于分布式数据库; 数据库是区块链的数据载体,区块链是交易的业务逻辑载体; 区块链按时间序列化区块数据,整个网络有一个最终确定状态; 区块链只对添加有效,对其他操作无效; 交易基于非对称加密的公私钥验证; 区块链网络要求拜占庭将军容错;

    2024年02月13日
    浏览(34)
  • 区块链的认识

    目录  频繁的交易如何记录这些交易信息呢?  那我们的链又是如何连接起来的?  谁做记账先生呢? 共识机制   如何处理有些人距离账目的公共太远的问题?  安全性: 去中心化:  总结:     频繁的交易如何记录这些交易信息呢? 我们可以采用记账先生去记录这些交

    2023年04月08日
    浏览(34)
  • 区块链的基本介绍

    目录 1、简介 2、区块链的分类 2.1 公有链 2.2 联盟链 2.3 私有链 3、区块链特征 4、区块链结构 5、区块链对记账权利的分配方式 5.1 POW 5.2 PoS  5.3 DPoS  6、Defi、NFT、 gameFi 7、DAPP  7.1 DAPP 的核心要素 8、比特币 8.1 比特币简介 8.2 比特币数字签名和安全问题 8.3 比特币的分叉和演变

    2024年02月08日
    浏览(41)
  • 区块链的特性

    区块链是一种去中心化的、可编程的数字账本,它具有以下特性: 去中心化:区块链不由任何中心化机构控制,而是由多个节点共同维护和管理,因此没有单点故障,并且不容易被攻击或篡改。 透明性:区块链中的所有交易和数据都是公开的,任何人都可以查看和验证,因

    2024年02月12日
    浏览(39)
  • 区块链的控制反转

    号外: 教链内参11.26《超80%流通盘处于浮盈》 控制反转这个词儿来自于计算机软件的一种设计模式,英文称为Inversion of Control,缩写是IoC。教链借用这个术语,来指称在区块链系统中,消除传统的“人控制机器”的控制模式,反转为“机器控制人”的控制反转模式。 掌握了这

    2024年02月05日
    浏览(38)
  • 区块链的技术缺陷

    区块链最主要的技术缺陷包括以下几点。 ● 缺乏隐私。 区块链是一种完全分布式的点对点账本系统,负责维护完整的历史交易记录。所有交易细节,比如货物数量以及转账金额、涉及的账户,还有转账时间等信息,所有人都能查得到。这一点是很有必要的,这样才能让所有

    2024年02月05日
    浏览(34)
  • 区块链的加密算法

    随着区块链技术的发展和广泛应用,加密算法也日益成为区块链系统中不可或缺的一部分。本文将介绍区块链中的加密算法,包括基础概念、签名算法以及隐私保护技术,旨在介绍这些技术的原理和特点,并探讨其在未来区块链技术发展中的潜力和应用前景。 1 区块链的加密

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包