微信小程序支付的主要逻辑集中在后端,前端只需携带支付所需的数据请求后端接口然后根据返回结果做相应成功失败处理即可。本篇文章后端使用的是php,侧重于整个支付的流程和一些细节方面的东西。所以使用其他后端
顺晟科技
2021-06-16 10:45:14
347
序
本文主要介绍智能合同的工作原理和部署过程。
合同部署流程
一般来说,部署智能合同的步骤是1:
启动一个Ethereum节点(比如geth或testrpc)。
使用solc编译智能合同。=获取二进制代码。
将已编译的合同部署到网络。(这一步将消耗以太网,您需要使用默认地址或您的节点的指定地址来签署合同。)=获取合同的区块链地址和ABI(合同接口的JSON表示,包括变量、事件和可调用方法)。(翻译:作者在这里把ABI和合同界面混淆了。ABI是契约接口的二进制表示。)
用web3.js提供的JavaScript API调用契约.(根据调用的类型,可能会消耗Ethereum。)
下图显示了部署过程:
您的DApp可以为用户提供一个界面,以便在使用之前部署所需的合同(如步骤1至4所示),或者您可以假设合同已经部署(通用方法),并直接从使用合同的界面开始(如步骤6所示)。
智能合同实例
接下来,我们将使用geth的控制台开发一个简单的智能契约,编译并部署在私有链上,最后与它进行交互。完成这些后,我们可以对智能合同的运行机制有更深入的了解。这个例子结合了王小明关于以太网发展的演示视频和关于以太网项目交易和合同的维基。
打开测试网络的控制台
输入以下命令:
geth-data dir ' ~/ethdev '-dev console 2 geth . log
显示如下:
zcc @ Ubuntu : ~ $ geth-datadir ' ~/ethdev '-dev console 2 geth . log
欢迎使用Geth JavaScript控制台!
instance : Geth/v 1 . 4 . 18-稳定/linux/go1.6.2
coinbase : 0 XB 005804 a 49 e 73 ACB 17 D1 e 7645 DFD 0 a 33 DDE 6 eb0 e
位于: 217区块(2016年11月1日星期二05:21:38太平洋时间)
datadir: /home/zcc/ethdev
modules : admin :1.0 debug :1.0 et H3 33601.0 miner :1.0 net :1.0 personal :1.0 RPC 33601.0 shh 33601.0 txpool 33601.0 web :1.0
这样,我们打开测试网络的控制台,除非另有说明,否则以下步骤将在控制台中完成。
检查编译器
我们的智能契约的下一个例子是使用实体语言开发的。因此,在此之前,我们应该确保已经正确安装了solidity编译器。输入以下命令进行检查:
eth .get编译器()
['坚固性']
我们发现solidity的编译器安装正确。如果返回值为空数组,请输入以下命令进行安装:
sudo add-apt-repository PPA : ether eum/ether eum
sudo apt-get更新
sudo apt-get install solc
如果在输入个命令时返回错误,请尝试重新启动系统。
撰写智能合同
我们写一个函数来求解乘以7的结果,就是输入一个值a,返回值a*7。
source=' contract test { function multiply(uint a)returns(uint d){ return a * 7;}}'
contract test { function multiply(uint a)returns(uint d){ return a * 7;}}'
一个
2
编译智能合同
contract=eth.compile.solidity(来源)。试验
{
代码: '0x 6060606040526038806010600396000 f 3606060405260 e 060020 a 6000350463 c 6888 fa 18114601 c 575 b 6002565 b 36025760760435026040404040404050505051918251515 c 575 b 60256025 b 3576006007600404504
信息: {
遵守定义: [{
constant: false,
inputs: [.],
名称: '倍数',
16
2021-06
16
2021-06
16
2021-06
16
2021-06
16
2021-06
16
2021-06