EOS的开发流程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EOS的开发流程相关的知识,希望对你有一定的参考价值。
创建一个引用EOS报表构件包的项目。引用该构件包后,即可在此项目上创建报表模板,以及调用报表运算逻辑。用户也可以现有项目上添加引用报表构件包。
2. 创建报表模板。
o 确定数据库的连接方式。
o 在报表模板中定制数据的汇总、统计。
o 确定最终显示样式。
3. 开发JSP,展现逻辑,业务逻辑。
实现数据的提取、显示、打印、导出等功能。
4. 调试发布。 1. 根据调用位置的不同,调用EOS报表的方式有两种:
o 在JSP页面上调用tag。
o 在业务逻辑中调用EOS报表的运算逻辑。
2. 根据数据库的连接方式分为:
o JDBC/XML数据源。
o EOS数据源。 一般情况下,报表都是一组有条件的查询结果,下面将用四个示例分别介绍针对同一需求的四种不同开发方式。
用户需求如下:
查询现有系统中的用户角色和用户信息,以报表的形式展示出某些角色所对应的用户名和用户ID。既可以查询某一角色对应的用户信息,也可以查询所有角色对应的用户信息,并可以将查询结果打印或导出到EXCEL中。
案例分析:
1. 查询要求
o 要求实现条件查询,条件为角色。
o 分组显示,按角色分组。
o 可以以html,applet,excel格式返回结果集。
2. 实现要点
o 需要创建条件查询页面,做为用户查看报表的入口,在该页面需要实现:选择角色、选择结果的显示格式。
o 需要实现分组显示,该功能在报表模板中实现。
o 需要设定显示格式,该功能在结果页面完成。
o 数据的提取可以由结果页面直接调用报表模板实现,也可以由后台调用“展现逻辑+业务逻辑”的方式实现。
3. 表结构和数据显示
以下关联的三个表均为eos的系统表。
查询SQL语句如下:
select
o.userid,o.operatorname,r.rolename
from
EOSOPERATOR o,
EOSOPERATORROLE eor,
EOSROLE r
where
o.operatorid=eor.operatorid and
eor.roleid=r.roleid and
r.rolename like '%'
order by r.rolename
4. 实现结果展示
o 查询条件页面
o 查询结果页面
EOS的是Block.One主导研发的一个区块链底层公链系统,它专门为支撑商业去中心化 应用(Decentralized Application)而设计,其代码开源。
比特币被称为区块链1.0,因为它开辟了数字加密货币的天下,走出了从0到1的决定性一步。
以太坊被称为区块链2.0,因为它提供了可运行智能合约的图灵完备的虚拟机,带来了无限的可能性。
而EOS则被称为区块链3.0,为什么? 两个字:性能。
EOS的定位正是其首页的口号:
英文:The most powerful infrastructure for decentralized applications。
中文:最强大的去中心化应用基础设施。
EOS期望做加强版的以太坊,一个高吞吐量的智能合约平台。
以太坊虽然功能齐备,但受制于其设计选择,15秒的出块速度导致交易吞吐量 远远不能达到大规模实用的程度,大约只有30~40TPS(交易/秒)。而EOS则选择了不同的技术路线,目标是达到可观的百万TPS——考虑到Visa实际的处理速度才1700TPS,这一目标的确相当诱人。
EOS的共识机制
比特币和以太坊之所以吞吐量这么低,是受制于其设想的应用场景以及针对该场景所选择的共识机制——这两者都假设系统运行的环境完全不可信,因此都采用了工作量证明(Proof of Work)这种共识机制。
共识,顾名思义,就是大家对某件事达成统一的认识——对于 区块链而言,某件事指的就是对交易的确认——任何一个节点要提交交易,都需要大家认可。
比特币和以太坊目前所采用的PoW机制是传奇人物中本聪的设计。在这种机制下,矿工们为了获得记账权和数字币奖励,需要不停挖矿来寻找合规的哈希值,通过对哈希值的共识来对交易数据进行确认和打包。PoW没有准入门槛,任何节点都 有平等的权利参与记账——当然,胜出的概率与算力有关:
EOS则假设环境并非完全不可信的,因此它采用的委托权益证明(Delegated Proof of Stake)机制,类似于我们熟悉的代表大会制度——不需要每个节点都参与共识的达成,只需那些选出来的节点去达成共识就可以了。由于可以相信这些节点,EOS的DPoS机制也不再需要解哈希难题来获取记账权,它让持有EOS币的人可以通过持续的投票系统来选择21个作为代表的超级节点——出块节点(Block Producer),由超级节点轮流进行交易数据确认和记账,并给予其一定的奖励。
显然,让21个节点达成共识,肯定比1万个节点达成共识要高效多了。
EOS的资源利用机制
我们知道,比特币和以太坊中的交易手续费机制,其目的就是防止大量垃圾交易使得系统拥堵。
而EOS则通过基于膨胀的奖励机制(每年增发1%,总增发不超过5%)完全取消了 交易手续费,这在降低了系统使用的成本同时也带来一个不可避免的问题:
如何避免系统资源的滥用?
EOS设计了一种新的资源使用机制:根据账户中EOS通证的数量来分配系统资源。
CPU与带宽:抵押/赎回
在EOS的模型中,CPU与带宽采用抵押的方式:按抵押的EOS通证比例分配CPU与带宽。例如,如果你持有全网1%的EOS通证,那就可以抵押这些通证来获得全网1%的CPU和带宽。这样就可以隔离开所有的DAPP,防止资源竞争和恶意的DDOS供给,无论其他的DAPP如何拥堵, 你自己的带宽都不受影响。
当不再需要CPU与带宽时,抵押的EOS通证可以赎回,在赎回的时候,存在三天的赎回期。
内存:买入/卖出
与CPU和带宽不同,要将数据存储在区块链中,你需要基于当前的RAM市场价格,用EOS通证买入RAM,才能获得一定数量的存储字节。当你不再需要内存时,也可以将内存以当前的RAM市场价格 卖出得到EOS通证:
RAM的价格是基于班科(Bancor)算法,也就是说是由市场供需调节的:如果RAM供不应求,则买入RAM时就需要更多的EOS通证,而这时卖出RAM也能获得更多的EOS通证。
内存是消耗资源,不可赎回,只能买卖。以EOS上发币为例,目前发币需要20M的内存,一个EOS可买20KB,按目前的存储价格发一个币需要消耗1000个EOS。这是EOS内存消耗的刚需来源。
课程概述
本课程面向对EOS去中心化应用开发感兴趣的朋友,课程内容涵盖EOS DApp开发的核心概念、智能合约的开发与部署以及前端页面与EOS区块链如何交互,并最终完成一个基于React和EOS的完整Dapp的开发。
第一章:进入EOS世界
了解EOS的定位与特点、共识机制、付费计算模型等核心概念。
第二章:Hi EOS
了解EOS节点的软件整体框架以及节点服务器、钱包服务器和命令行工具的作用, 学习配置、启动EOS节点服务器和钱包服务器的方法,初步了解命令行工具的使用方法。
第三章:钱包、密钥与账户
理解EOS中与个人身份相关的三个核心概念:钱包、密钥与账户,学习使用命令行工具 创建钱包、密钥与账户的方法。
第四章:智能合约的开发与交互
了解智能合约的概念与作用,学习EOS智能合约的编写和编译,学习使用命令行工具 部署合约并与合约交互。
了解EOS智能合约中状态的持久化机制,学习使用多索引表保存合约状态。
第五章:发行自己的代币
学习在EOS上发行代币的原理和实现机制,并通过实际操作,掌握如何 使用命令行工具进行代币的发行、转账和余额查看等操作。
第六章:使用代码与智能合约交互
理解应用与EOS区块链交互的原理,学习利用JSON RPC接口和eosjs封装库来 访问EOS区块链。
第七章:实战便签DApp开发
综合运用EOS知识,使用React完成一个EOS便签去中心化应用,学习从需求分析到 代码实现的完整过程。
eos开发还是需要一个完整的学习的,上面的课程地址如下:EOS教程
参考技术B EOS有两种不同的发行方式:众筹和增发。EOS在主网未上线前指代基于以太坊ERC20发布的临时EOS代币,通过众筹方式发行,众筹将从2017年6月26日13:00 UTC(世界协调时间)开始,历时341天。
众筹总共发行10亿枚EOS,分为两个阶段,第一阶段为2亿枚EOS,将在2017年6月26日开始至2017年7月1日止;第二阶段将7亿枚EOS分为350份发售,即每23小时一份,每份200万枚,剩余1亿枚由归属于Block.one, 并且不能在以太坊网络上进行交易。
在EOS主网上线后,将每年增发5%的EOS,其中1%将用于奖励区块生产者和备选节点。
在主网未映射前,现有的EOS是基于以太坊ERC20发布的临时EOS代币。当今年6月份EOS主网上线之后,这些临时的EOS需要被转换成真正的EOS平台通证,这个操作就是映射,相当于在以太坊和EOS主网直接建立一座桥梁。你可以在中币官网查看详细的币种资料和行情
以上是关于EOS的开发流程的主要内容,如果未能解决你的问题,请参考以下文章