LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 有链YOUChain公测网与以太坊智能合约实测对比

有链YOUChain公测网与以太坊智能合约实测对比

2019-12-18 YOUChain有链 来源:区块链网络

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

1 智能合约部署

2 通过智能合约部署比较以太坊和YOUChain GAS费

3 智能合约gas费用估算的2种方法(需要的可以看看)

YOUChain在12月16日上线了名为MarcoPolo的公测网。总说收费低收费低,今天就测一下。?公测网发布了,意味着已经具备主网上线的条件,所以我们以公测网与以太坊智能合约进行实测对比。?以太坊智能合约部署及GAS

我们用以太坊的测试网Rinkeby?实时的做一次测试,就执行一句简单的程序。如下图编译成功后开始部署。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

可以在钱包中看到部署的扣费请求(下图),一共需要0.000168ETH(约0.14人民币)。也就是说用以太坊网络仅仅执行一条简单的语句就需要0.14人民币/次。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

从钱包中查看本次智能合约,如下图,花费了168324*1=168324Gwei,得出了上文的0.000168ETH的GAS费.?wei是最小的以太坊单位。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

目前的wei建议价格如下:(数据来自https://ethgasstation.info/index.php)

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

YOUChain智能合约部署

(顺便手把手教你部署一次合约)?注:以下操作一定要用谷歌浏览器?01https://dev.iyouchain.com/zh/youwallet/browser-extension.html?安装钱包。02?有了钱包账户就在钱包点击“存入”,可以领取测试网络的100YOU用于接下来的智能合约的部署。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

03?打开YOUChain的IDE编译器?https://ide.iyouchain.com/?点击左上角“+”号新建一个 .sol文件,命名随意。04?把这几行代码(够短吧)粘贴到如图的框里,然后点击右边的“开始编译”

pragma solidity ^0.4.25;

contract YOUFen{

string Myname = "easy";

function getName() public viewreturns(string)

{

return Myname;

}

}

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

出现下图部分就是编译成功了

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

05?如图选择部署环境“Injected YOUChain”,如果你前面钱包安装没有问题的话,“环境”下面的“账号”浏览器会自动帮你填写的。直接点击“确认部署”。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

06?弹出钱包,点击“确认”

07?下方出现如下图{"blockHash":"?就是成功了 你可以将该hash值复制到区块链浏览器中搜索查看你的智能合约。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

?恭喜你成功部署智能合约!?该代码与刚刚部署在以太坊公测网络的代码完全相同,来看看该合约部署在YOUChain公测网络花费了多少gas费。?在钱包中点击刚刚部署的合约,发现一共消耗了192736Glu,lu是YOU最小的单位,1YOU=10^18lu,1Glu=10^9lu。所以刚刚一共消耗了0.000192736YOU(约0.00006元)相比以太坊的0.14元简直是白菜价。我使用的环境,YOUChain ide 和 remix 虚拟机版本不一样,所以数量上稍微有差距,但不会是数量级的差异。也就是说以该程序为例的话,在以太坊上部署合约的成本是在YOUChain上部署合约成本的2000多倍。(实际可能因各种因素有些许差异。)

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

2种GAS费预估的方法

01?通过 rpc

curl -X POST \

http://test-node.iyouchain.com \

-H 'Content-Type: application/json' \

-d '{

"jsonrpc": "2.0",

"id": 1,

"method": "you_estimateGas",

"params": [

{

"data": "0x智能合约数据"

}

]

}

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

02通过youchain.js

const YOUChain = require('youchain');

const solc = require('solc');

const fs = require('fs');

const youchain = new YOUChain('http://test-node.iyouchain.com');

const address = '0x59677fd68ec54e43ad4319d915f81748b5a6ff8b';

const contractWrap = (content) => {

return {

language: 'Solidity',

sources: {

'Adoption.sol': {

content

}

},

settings: {

outputSelection: {

'*': {

'*': ['*']

}

}

}

};

};

fs.readFile('Adoption.sol', 'utf8', async (error, data) => {

let output = JSON.parse(solc.compile(JSON.stringify(contractWrap(data))));

output = output.contracts['Adoption.sol']['Adoption'];

const contract = new youchain.you.Contract(output.abi);

console.log('object: ', output.evm.bytecode.object);

const encodeABI = contract

.deploy({

data: output.evm.bytecode.object,

arguments: []

})

.encodeABI();

youchain.you.estimateGas({

from: address,

data: '0x' + encodeABI

}).then(data =>{

console.log("estimateGas",data);

});

});

—-

编译者/作者:YOUChain有链

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...