跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
捷比信电阻高精密 · 大功率无感 · 金属膜电阻

以太坊智能合约提供的开源框架POA Network简介

POA Network是一个基于以太坊的平台,为智能合约提供了开源框架。 POA网络是以太坊的侧链,使用授权证明作为其共识机制。 POA为开发人员提供了以太坊标准编码的灵活性,以及​​POA网络解决方案在区块链网络中的可扩展性和互操作性的其他优势。 POA的交易费用与以太坊主网相同,但与以太坊付费的以太坊主网相比,PoA区块链需要本币(称为PoA代币)来支付费用。该令牌可在加密交易平台(例如Binance)上使用。进行。 POA当前有两个运行的网络:·POA核心:需要POA令牌的主网络·POA Sokol:需要POA Sokol令牌的测试网络对于本教程,我们将使用POA Sokol网络。第1步:将Metamask连接到PoA Sokol并为您的帐户注资。在第一步中,我们将学习如何将Metamask钱包连接到名为sokol的POA测试网络,以及如何将测试POA令牌用于帐户提供资金。 1.解锁Metamask扩展名。2.转到“设置”,输入以下新的RPC URL https://sokol.poa.network,然后单击“保存”。注意:您还可以使用POA专用的浏览器扩展程序(仅Chrome),类似于Metamask:Nifty3,在Metamask中,复制您的帐户地址4,POA Sokol的水龙头5,单击Request 0.5 POA6,您可以检查Metamask中的帐户余额,或检查交易是否在POA Sokol Explorer中。步骤2:在POA Sokol网络上部署合同第二步是编写一个非常简单的Solidity智能合同,并使用Truffle框架将其部署在POA Sokol网络上。 1.在计算机上安装松露$ npm install -g truffle 2.初始化Truffle项目$ truffle initDownloading。开箱..SetTIng设置..开箱成功。甜的!命令:编译:松露compileMigrate:松露migrationTest合同:松露测试3.现在,让我们编写一个简单的智能合约,该合约可以递增并存储计数器。在contracts / counter.sol中创建一个文件,并粘贴以下坚固性代码pragma solidity ^ 0.4.20; contract计数器{uint counter; constructor()public {counter = 0; //将计数器初始化为0} funcTIon gain()public {counter ++;} funcTIon getCounter()public view return(uint){return counter;}}您可以使用以下命令$ truffle compile验证代码是否正确编译。 4.现在,我们需要创建一个部署脚本,以在migrations / 2_deploy_contracts.js中创建一个文件,并粘贴以下代码var Counter = artifacts.require(“ ./ Counter.sol”); module.exports = function(deployer){deployer .deploy(Counter);}; 5.最后,我们需要配置与POA Sokol网络的连接以及我们的钱包信息以安装以下JavaScript依赖项:松露HDwallet提供程序允许对从12字助记键交易产生的地址进行签名·dotenv是用于配置环境的模块变量$ npm install tr​​uffle-hdwallet-provider dotenv --save-dev 6.从Metamask钱包中复制助记符:设置/显示种子词7.在Truffle项目中创建一个.env并复制该助记符MNEMONIC =“ COPY在这里,您不想共享的12个记忆词” 8.打开truffle.js文件,并添加以下配置require(' dotenv')。config(); const HDWalletProvider = require(&truffle -hdwallet-provider');模块。出口= {//有关自定义Truffle配置的更多信息,请参见《 http://truffleframework.com/docs/advanced/configuration》//。网络:{poa:{provider:function(){返回新的HDWalletProvider(process.env.MNEMONIC,“ https://sokol.poa.network””)},network_id:77,gas:500000,gasPrice:1000000000},开发:{主机:“ 127.0.0.1”,端口:8545,network_id:“ *”; //匹配任何网络ID}}}; 9.将部署运行到POA Sokol网络$ truffle migration --network poasing network' poa'。运行迁移:1_initial_migration.jsDeploying迁移.. .. .. 0x3a2e4be0c784bf5df3ca4251d27dc724ae5863d5de0e1eae4babb0c636b8c571Migrations:0xb497ad71c0168d040027cfdcf9a44c7f8f270d0dSaving成功迁移到网络.. .. .. 0x8ebbf70d5a162ba46e2fa4266aafe360d9f32e32c30ed17a083045d2afeeaf46Saving文物.. .Running迁移:2_deploy_contracts.jsDeploying反.. .. .. 0xdf3009e60daec1217237661b4b10298b5f4504efef8a6f93cdc8198486260766Counter:0xfbc93e43a6a95c1cee79aa8ec2382a4edd5ad2bcSaving文物..步骤3:通过Web应用程序与智能合约进行交互。在下一步中,我们将使用react,web3和truffle来开发DAPP,以与先前部署在POA sokol网络上的智能合约进行交互。 1.初始化React项目$ npx create-react-app frontend $ cd frontend 2.安装必要的依赖项·truffle-contract:绝对