以太坊Web3j插件功能探究(一

1.     以太坊概述


以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球已有200多个以太坊应用诞生。以太坊是一个平台和一种编程语言,使开发人员能够建立和发布下一代分布式应用。 以太坊可以用来编程,分散,担保和交易任何事物:投票,域名,金融交易所,众筹,公司管理, 合同和大部分的协议,知识产权,还有得益于硬件集成的智能资产。


1.1   以太坊的技术特点


1)    以太坊是一个区块链的开发平台,而非用于交易的加密货币—--创始人Vitalik Buterin。因此,其显著特性是可编程性。


2)   客户端支持多种语言:Go、C++、Python、JavaScript; v  Go:go-ethereum(geth)

v  C++:cpp-ethereum(ceth)


3)   客户端支持多种操作系统和设备:Linux、FreeBSD、OS X、Windows、Docker、ARM、IOS、智能手机、智能手表、平板电脑;

v  得益于C++的跨平台;


4)   客户端既是服务器端软件(P2P通信、区块链管理、API接口服务)和挖矿软件,又是命令行工具,还是控制台程序。只需客户端即可运行完整的节点;


5)   客户端(geth、ceth)支持Docker容器部署;


6)   提供图形化钱包软件(Mist),内嵌客户端工具,支持转账和智能合约;


7)   支持多种编程接口:JAX-RPC、WS-RPC、IPC-RPC、JavaScript;功能最完善的是JavaScript接口库web3.js;


8)   控制台下可以直接运行JavaScript脚本,可以直接使用Web3.js库;


9)   Web应用的页面,可以直接使用Web3.js库,也可以通过Ajax/HttpClient使用JAX-RPC、WS-RPC接口。


10)   以太坊合约的代码使用低级的基于堆栈的字节码的语言写成的,被称为“以太坊虚拟机代码”或者“EVM代码”。



1.2   以太坊的账户

以太坊账户分为两类(均使用20字节的地址代表账户,HEX16转换后是40字节串):


1)     外部控制账户(EOA):由私钥保护的“实体” 账户,存储以太坊网络的以太币;


2)     智能合约账户:由合约代码控制的账户,从区块链的角度看形同一个实体账户,只是人无法直接操作;


3)     前者只能由人发起进行以太币的转账,后者只能在代码的控制下进行以太币转账;


4)     前者可以发送消息给后者,触发其执行相应的指令或业务逻辑,如转账、产品申购等。


5)     交易费用总是由前者提供。如要触发后者运行,前者既要提供发送消息的费用,还要提供合约运行的费用。如提供的费用不足,则合约可能运行到中途结束。此时,全部影响被自动撤销,但交易费用不会退还。交易结束后,多余的Gas自动退还。



1.3   智能合约


1.3.1  业务角度看智能合约


1)     智能合约是根据事先任意制订的规则来自动转移数字资产的系统;


2)     智能合约是事件驱动的、具有状态的、获得多方承认的、运行在区块链之上的程序。该程序能够按照预设的条件,自动地处理其管理的资产。


3)     智能合约是一个机器人,拥有自己的账户,按照其设定程序,可以代替自然人或法人严格地进行仲裁和执行合约;


4)     智能合约存储在区块链上,被矿工计算机自动执行;


5)     智能合约具有数据透明、代码透明、不可篡改、永久运行的特点;



1.3.2  程序员角度看智能合约


1)       智能合约像构建在区块链数据库上的存储过程;


2)       智能合约像类,有属性、方法和构造、析构函数;


3)       智能合约像服务,对外提供同步和异步的消息接口;


4)       智能合约使用类JavaScript高级语言编写,被编译为可以被以太坊区块链虚拟机(EVM)运行的二进制码;


5)       智能合约支持继承;


6)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值