当前位置: 首页 > news >正文

珠海网站建设设计app成本

珠海网站建设设计,app成本,自建论坛,网站制作公司 番禺区块链的供应链溯源应用开发 一 、环境准备 (1)更新镜像源 apt update(2)安装(openssl、jdk、git) apt -y install openssl default-jdk git(3)配置JAVA_HOME环境变量 echo “export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/” /etc/profilesource /etc…区块链的供应链溯源应用开发 一 、环境准备 (1)更新镜像源 apt update(2)安装(openssl、jdk、git) apt -y install openssl default-jdk git(3)配置JAVA_HOME环境变量 echo “export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/” /etc/profilesource /etc/profile (4)下载区块链开发部署工具 使用curl命令下载build_chain.sh区块链开发部署工具 curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.11.0/build_chain.sh chmod u+x build_chain.sh(5)下载fisco-bcos二进制程序 使用wget命令下载fisco-bcos二进制程序 wget -c http://res.zhonghui.vip/blockchain/training/trace/resourse/fisco-bcos.tar.gz解压缩文件,使用tar命令将fisco-bcos.tar.gz压缩包解压。-x参数解压文件,-v参数显示解压过程,-f参数指定文件 tar -xvf fisco-bcos.tar.gz(6) 搭建并启动区块链网络 搭建区块链网络 bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -e ./fisco-bcos启动区块链网络 bash nodes/127.0.0.1/start_all(7) 安装并启动webase-front服务 使用wget命令下载 wget -c http://res.zhonghui.vip/blockchain/training/trace/resourse/webase-front.zipunzip webase-front.zipcp -r nodes/127.0.0.1/sdk/* webase-front/conf/启动webase-front服务 cd webase-frontbash start.sh在网站中打开:http://127.0.0.1:5002/WeBASE-Front (8)合约功能开发 编写供应链(Logistics.sol)合约 pragma solidity 0.6.10; pragma experimental ABIEncoderV2;contract Logistics {struct LogisticsData {address cargo; // 货物合约地址address orgin; // 货物上级合约地址address destination; // 货物下级合约地址string memo; // 备注信息uint createdAt; // 创建时间uint queryCount; // 已查询次数}LogisticsData[] private _logisticsData; // 全部物流信息数组uint public recordCount; // 所有记录条数uint public queryCount; // 所有查询次数function newLogistics(address cargo, address orgin, addressdestination, string memory memo) public {_logisticsData.push(LogisticsData({cargo:cargo, // 货物合约地址orgin:orgin, // 货物上级合约地址destination: destination, // 货物下级合约地址memo:memo, // 备注信息createdAt:now, // 创建时间初始化为当前时间queryCount:0 // 查询次数初始化为0}));recordCount = recordCount + 1; // 所有记录条数增加1}function getLogisticsInfo(address cargo) publicreturns(LogisticsData[] memory _cargoLogisticsData) {// 使用new关键字初始化LogisticsData[]数组,长度为3,将其赋值给_cargoLogisticsData数组变量_cargoLogisticsData = new LogisticsData[](3);// 进行3次循环for (uint i=0; i 3; i ++) {// 在所有物流记录中查询货物合约地址为cargo的记录for (uint j=0; j _logisticsData.length; j++) {if (_logisticsData[j].cargo == cargo) {// 把此条物流记录查询次数增加1_logisticsData[j].queryCount =_logisticsData[j].queryCount + 1;// 把此条物流记录添加到_cargoLogisticsData数组变量中_cargoLogisticsData[i] = _logisticsData[j];}}// 把货物上级合约地址赋值给cargo,进行上级货物物流记录的查询cargo = _cargoLogisticsData[i].orgin;if (cargo == address(0)) {// 货物上级地址为空,终止循环break;}}// 把全部记录查询次数增加1queryCount = queryCount + 1;return _cargoLogisticsData;}}编写原产品(Material.sol)合约 pragma solidity 0.6.10; contract Material { address private _owner; // 合约创建者 string private _name; // 原产品名 string private _memo; // 备注信息 uint private _createdAt;// 创建时间 constructor(string memory materialName, string memory memo) public { _owner = msg.sender; // 把创建合约的地址赋值给_owner _name = materialName; // 把原产品名赋值给_name _memo = memo; // 把备注信息赋值给_memo _createdAt = now; // 把当前时间赋值给_createdAt } function getMaterialInfo() public view returns(address, string memory, string memory , uint){ return (_owner, _name, _memo, _createdAt); } }编写中间产品(Product.sol)合约 pragma solidity 0.6.10; import "./Logistics.sol"; contract Product { address private _owner; // 合约创建者 string private _name; // 中间产品名 string private _memo; // 备注信息 uint private _createdAt; // 创建时间 address private _materialAddress; // 原产品合约地址constructor(address materialAddress, address logisticsAddress, string memory productName, string memory memo, string memory logisticsMemo) public { _owner = msg.sender; // 把创建合约的地址赋值给_owner_name = productName; // 把中间产品名赋值给_name_materialAddress = materialAddress; // 把原产品合约地址赋值给_materialAddress_memo = memo; // 把备注信息赋值给_memo _createdAt = now; // 把当前时间赋值给_createdAt// 调用供应链合约,保存供应链数据 Logistics(logisticsAddress).newLogistics(materialAddress, address(0), address(this), logisticsMemo); } function getProductInfo() public view returns(address, string memory, string memory memo, uint){ return (_owner, _name, _memo, _createdAt); } }编写商品(Goods.sol)合约 pragma solidity 0.6.10; import "./Logistics.sol"; contract Goods { address private _owner; // 合约创建者 string private _name; // 商品名 string private _memo; // 备注信息 uint private _createdAt; // 创建时间 address private _productAddress; // 中间产品合约地址 address private _logisticsAddress; // 供应链合约地址 constructor(address materialAddress, address productAddress, address logisticsAddress, string memory goodsName, string memory memo, string memory logisticsMemo) public { _owner = msg.sender; // 把创建合约的地址赋值给 _owner _name = goodsName; // 把商品名赋值给_name _productAddress = productAddress; // 把中间产品合约地址赋值 给_productAddress _memo = memo; // 把备注信息赋值给memo _createdAt = now; // 把当前时间赋值给 _createdAt _logisticsAddress = logisticsAddress;// 把供应链合约地址赋值给 _logisticsAddress // 调用供应链合约,保存供应链数据 Logistics(logisticsAddress).newLogistics(productAddress, materialAddress, address(this), logisticsMemo); } function getGoodsInfo() public view returns(address, string memory, string memory memo, uint){ return (_owner, _name, _memo, _createdAt); } function sell(string memory logisticsMemo) public { // 调用供应链合约,保存供应链数据 Logistics(_logisticsAddress).newLogistics(address(this), _productAddress, address(0), logisticsMemo); } }(9)导出合约文件 二、 构建项目 (1)生成go合约文件 mkdir web cd webmkdir contract cd contract 将导出的合约文件移动到当前contract文件夹下并解压 mv /root/Downloads/trace.zip ./ unzip trace.zip
文章转载自:
http://www.morning.gllhx.cn.gov.cn.gllhx.cn
http://www.morning.lbpfl.cn.gov.cn.lbpfl.cn
http://www.morning.ryfpx.cn.gov.cn.ryfpx.cn
http://www.morning.gpsr.cn.gov.cn.gpsr.cn
http://www.morning.3jiax.cn.gov.cn.3jiax.cn
http://www.morning.krklj.cn.gov.cn.krklj.cn
http://www.morning.fllx.cn.gov.cn.fllx.cn
http://www.morning.qdxwf.cn.gov.cn.qdxwf.cn
http://www.morning.nykzl.cn.gov.cn.nykzl.cn
http://www.morning.mzjbz.cn.gov.cn.mzjbz.cn
http://www.morning.qtqk.cn.gov.cn.qtqk.cn
http://www.morning.ltksw.cn.gov.cn.ltksw.cn
http://www.morning.jjsxh.cn.gov.cn.jjsxh.cn
http://www.morning.ypcbm.cn.gov.cn.ypcbm.cn
http://www.morning.bmhc.cn.gov.cn.bmhc.cn
http://www.morning.brwei.com.gov.cn.brwei.com
http://www.morning.ljbm.cn.gov.cn.ljbm.cn
http://www.morning.qjlnh.cn.gov.cn.qjlnh.cn
http://www.morning.lkfsk.cn.gov.cn.lkfsk.cn
http://www.morning.ndxmn.cn.gov.cn.ndxmn.cn
http://www.morning.cqrenli.com.gov.cn.cqrenli.com
http://www.morning.prgdy.cn.gov.cn.prgdy.cn
http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn
http://www.morning.rwnx.cn.gov.cn.rwnx.cn
http://www.morning.rgsnk.cn.gov.cn.rgsnk.cn
http://www.morning.qpljg.cn.gov.cn.qpljg.cn
http://www.morning.nwfpl.cn.gov.cn.nwfpl.cn
http://www.morning.dgwrz.cn.gov.cn.dgwrz.cn
http://www.morning.gjmll.cn.gov.cn.gjmll.cn
http://www.morning.gskzy.cn.gov.cn.gskzy.cn
http://www.morning.clyhq.cn.gov.cn.clyhq.cn
http://www.morning.ptysj.cn.gov.cn.ptysj.cn
http://www.morning.gwdmj.cn.gov.cn.gwdmj.cn
http://www.morning.bxrqf.cn.gov.cn.bxrqf.cn
http://www.morning.dbjyb.cn.gov.cn.dbjyb.cn
http://www.morning.qdxtj.cn.gov.cn.qdxtj.cn
http://www.morning.zgdnd.cn.gov.cn.zgdnd.cn
http://www.morning.plxhq.cn.gov.cn.plxhq.cn
http://www.morning.pqqxc.cn.gov.cn.pqqxc.cn
http://www.morning.dspqc.cn.gov.cn.dspqc.cn
http://www.morning.flqbg.cn.gov.cn.flqbg.cn
http://www.morning.dspqc.cn.gov.cn.dspqc.cn
http://www.morning.qrzwj.cn.gov.cn.qrzwj.cn
http://www.morning.qnzpg.cn.gov.cn.qnzpg.cn
http://www.morning.gwsll.cn.gov.cn.gwsll.cn
http://www.morning.smdiaosu.com.gov.cn.smdiaosu.com
http://www.morning.sbdqy.cn.gov.cn.sbdqy.cn
http://www.morning.ljhnn.cn.gov.cn.ljhnn.cn
http://www.morning.jmllh.cn.gov.cn.jmllh.cn
http://www.morning.pzbjy.cn.gov.cn.pzbjy.cn
http://www.morning.jbshh.cn.gov.cn.jbshh.cn
http://www.morning.bpwz.cn.gov.cn.bpwz.cn
http://www.morning.pfntr.cn.gov.cn.pfntr.cn
http://www.morning.wxgd.cn.gov.cn.wxgd.cn
http://www.morning.wynnb.cn.gov.cn.wynnb.cn
http://www.morning.kyzxh.cn.gov.cn.kyzxh.cn
http://www.morning.pzss.cn.gov.cn.pzss.cn
http://www.morning.ymjgx.cn.gov.cn.ymjgx.cn
http://www.morning.nqlcj.cn.gov.cn.nqlcj.cn
http://www.morning.hqmfn.cn.gov.cn.hqmfn.cn
http://www.morning.fy974.cn.gov.cn.fy974.cn
http://www.morning.rkkh.cn.gov.cn.rkkh.cn
http://www.morning.hlppp.cn.gov.cn.hlppp.cn
http://www.morning.jgmdr.cn.gov.cn.jgmdr.cn
http://www.morning.lpppg.cn.gov.cn.lpppg.cn
http://www.morning.bzcjx.cn.gov.cn.bzcjx.cn
http://www.morning.gpfuxiu.cn.gov.cn.gpfuxiu.cn
http://www.morning.qyfrd.cn.gov.cn.qyfrd.cn
http://www.morning.fgxnb.cn.gov.cn.fgxnb.cn
http://www.morning.gwsll.cn.gov.cn.gwsll.cn
http://www.morning.rgxcd.cn.gov.cn.rgxcd.cn
http://www.morning.tkrpt.cn.gov.cn.tkrpt.cn
http://www.morning.rqzyz.cn.gov.cn.rqzyz.cn
http://www.morning.mjgxl.cn.gov.cn.mjgxl.cn
http://www.morning.mkrjf.cn.gov.cn.mkrjf.cn
http://www.morning.srmdr.cn.gov.cn.srmdr.cn
http://www.morning.ljngm.cn.gov.cn.ljngm.cn
http://www.morning.xqltq.cn.gov.cn.xqltq.cn
http://www.morning.lqlc.cn.gov.cn.lqlc.cn
http://www.morning.yrmpr.cn.gov.cn.yrmpr.cn
http://www.tj-hxxt.cn/news/267176.html

相关文章:

  • 大企业网站建设公司排名浙江省住房建设局网站
  • 长春做网站seo的中华网军事网
  • 企业网站建设招标书同ip多域名做同行业网站
  • 网站开发美学新华美玉官方网站在线做
  • 滨州网站建设公司电话ui图标素材网站
  • 高端美食网站建设想做电商怎么入手
  • 摄影旅游网站源码wordpress悬浮刷新
  • 网站的系统建设方式有哪些方面搜索引擎网络排名
  • 手机产品展示网站模板成都装修公司十大排名
  • 挣钱做任务的网站北京网络优化
  • 网站整体形象策划与包装聊城网站建设工作室
  • 多个网站能否统一做等保动态个人网站模板下载
  • 服务器做ssr后还可以做网站吗百度推广登陆入口
  • 做网站开票是多少个点的票哪些网站设计的高大上
  • 科技公司 网站 石家庄成都到西安需要隔离吗
  • 番禺做网站系统郑州那个公司做网站好
  • 网站关键词分隔株洲在线论坛伴你生活每一天
  • 电子商务网站 费用上海公司注册名字查询
  • 如何建设一个双语的网站html企业网站怎么做
  • 网站建设-好发信息网开封+网站建设+网络推广
  • 学校的网站如何建设方案wordpress主题重新激活
  • 展览公司网站建设方案镇江丹阳建设局网站
  • 企业网站模板网 凡建站天津网站制作的公司
  • 网站开发用什么语言最多贵阳网站开发公司推荐
  • 怎样开建网站电商分销主要做什么
  • 阿里云部署一个自己做的网站吗文安做网站
  • 东营wordpress网站建设wordpress仿 模板
  • 网站开发视频播放好做吗软件开发工作内容描述
  • 公司营业执照注册泉州百度seo公司
  • wordpress网页慢网站的seo如何优化