本文以商品交易数据追踪为例,介绍了适合NodeJS全栈入门区块链开发的技术方案:Ethereum+Truffle+Electron+Metamask,这篇文章偏科普性,不涉及到具体代码。
作为《区块链全栈开发系列》的开篇吧。
交易额虽然惊人,但是双十一也存在一些黑暗面,通过搜索引擎简单搜索,我们可以看到返回的内容,如下示例:
每年双十一都会搞得轰轰烈烈,一年比一年火爆,火爆背后有多少消费者买到的商品真的是实惠的吗?还是商家的一种营销手段:
促销前抬高价格,
促销时打折,
实际购买价比平时高。
其实,数据掌握在 平台/商家 手里,平台/商家 想怎么改都可以,普通消费者是无法辨别。
因为你不可能长期针对某个商品进行监测,回到本文的主题,
如何技术地识别双十一里的“骗子”商品?
很容易想到使用爬虫工具,每天定时定点地爬取商品的销量跟价格;只要长期跟踪,就不怕你商家在双十一这一天耍花招了。
但是,谁去做爬虫呢?爬虫爬取的数据存放在哪里呢?作为制作爬虫,收集商品数据的收集方,会不会狼狈为奸,自己也去偷偷改动数据呢?
这里涉及到一个公信力的问题,作为电商交易的平台方,谁能证明你的公信力,作为数据采集方,公信力也很难有人能证明。
为了解决公信力的问题,不得不提及“区块链”技术。区块链的关键技术之一是防篡改,核心是共识算法。
数据添加至区块链将会被永久储存,单个节点将无法实现对数据的修改,所以区块链的数据稳定性高,同时具有不可篡改性。任何人都可以在公开的接口查询区块链中的数据,还可以在整个系统中分享与交换数据,可见区块链保持了系统信息的高度开放性和透明性。
区块链技术是一个中性的存在,它像是一个账本,可以记录所有的交易数据,可以用于验证信息的真伪。
如果,电商平台是基于区块链的,那商品的交易数据,价格变动将非常客观地记录在区块链上,任何人想要修改造假,都非常困难。还有,某宝一直被诟病的刷单、买好评等弊端,将被区块链技术所解决。
下面介绍一种简单的基于区块链的,方便个人开发者DIY的技术方案。
技术选型:
区块链:Ethereum+Truffle
桌面APP:Electron+Metamask
爬虫工具:PhantomJS+Casperjs
一、区块链开发
我们主要使用Truffle来进行区块链的开发,入门教程可以查看官方的网站,有详细的使用教程。
Ethereum
以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球已有200多个以太坊应用诞生。开发语言是Solidity。
http://solidity.readthedocs.io/en/develop/
Truffle
基于Javascript的以太坊的Solidity语言的一套开发框架。
http://truffleframework.com/
二、桌面APP开发
使用Electron作为一个APP壳,整合Metamask的chrom浏览器插件,使得可以APP可以访问以太坊。
Electron
让你使用纯 JavaScript 调用丰富的原生 APIs 来创造桌面应用。
https://electron.atom.io/
联系客服