简介 本篇我们开始来为后续合约开发做准备了,先来说说EOS内置的系统合约的功能吧,本篇将侧重于合约表数据的查询,这将有利于我们理解EOS的功能,并可以进行必要的数据查询. EOS基础全家桶(七)合约表操作 简介 系统合约介绍 查询合约表 eosio.token eosio abihash userres voters producers refunds 其他表 系统合约介绍 系统合约的代码也是开源的,我们可以在https://github.com/EOSIO/eosio.contracts获得.…
简介 上一篇我们介绍了EOS的专用IDE工具EOS Studio,该工具的优势是简单,易上手,但是灵活性低,且对系统资源开销大,依赖多,容易出现功能异常.那么我们开发人员最容易使用的,可能还是深度定制化的IDE,今天我们介绍如果用强大的VSCode来配置一个EOS的开发环境. 准备 最简配置: eosio.cdt VSCode C++插件 豪华配置: eosio.cdt VSCode C++插件 docker docker的eosio.cdt镜像 eosio.cdt源码及Intellisence…
简介 通过上一期的学习,大家应该能写一些简单的功能了,但是在实际生产中的功能需求往往要复杂很多,今天我就继续和大家分享下智能合约中的一些高级用法和功能. 使用docker编译 如果你需要使用不同版本的CDT来编译不同的合约,那么这个方法是目前最有效的,使用虚拟机也是类似的原理,但是却没有docker更便利.如果你要通过安装卸载在不同的CDT版本间切换,你这是最低效且难以维护的方式了. 之前我就介绍过了使用使用EOS Studio上传的docker镜像,我们打开docker官方的Hub页面,然后搜…
简介 区块链上的所有操作都是通过交易(Transaction)上链的,无论你是转账交易还是发起的智能合约的调用,而EOS和传统区块链不同的是EOS在一个交易里可以发起多个行为(Action),这使得EOS的操作可以支持更原子化的事务控制,也同时为上链增加了便捷性和可操作性.而今天我们就要学习下EOS中的交易的结构和交易的操作. EOS基础全家桶(十)交易Action操作 简介 交易结构 发起交易的流程 action打包数据 获取区块信息 签名 广播 发起转账交易 调用合约Action 交易结构…
简介 本篇我们将会学习EOS自带的命令行钱包的使用方法,我们将会使用cleos来控制keosd服务对本地钱包进行管理. 虽然现在市面上已经有很多支持EOS的钱包了,有Web钱包,有app钱包,还有浏览器插件钱包,著名有scatter钱包.TokenPocket钱包还有MeetOne钱包等.但是基于服务器上的钱包管理我们还是必须要学会使用keosd的功能,而且,从安全性来说,三方的终究没有官方的更让人放心吧,我的同事就遇到过被三方sdk盗号的情况,所以作为开发人员,熟练使用keosd的功能,对我们…
简介 前面我们已经学习了一些EOS的基础知识了,但是在EOS主网上的很多操作(比如:抵押.赎回.买卖内存)都是需要EOS链被正式激活后才可使用,而激活EOS链还需要很多的准备操作,我打算在单独的一篇文章中介绍,为了大家可以先上手使用EOS主网或者模拟测试,我们今天就先学习下如何使用EOS的jungle测试网. EOS基础全家桶(八)jungle测试网的使用 简介 EOS测试网介绍 创建账号 水龙头领取EOS 启动测试网节点 获取测试网的P2P节点地址 获取测试网的RPC API接口地址 钱包中配…
简介 本篇我们会学习最基本的账号相关的操作,包括了创建账号和查询,关于账号资源的操作因为必须先部署系统合约,所以我们会留到后面单独写一篇来讲解. 6-EOS基础全家桶(六)账号管理 简介 账号介绍 账号名介绍 资源介绍 补充说明genesis.json 创建账号 创建系统级账号 创建普通账号 查询账号 查询账号基本信息 查询余额 账号介绍 EOS的设计与以往的其他区块链有很大的不同,传统区块链上使用的账号都是直接使用公钥,而EOS使用了最多13位长的简短账号名,并以此扩展出了账号权限的功能. 账…
简介 今天我们继续补充智能合约的进阶使用技巧,这次的主题是交易,合约内我们除了可以发起内联action的调用,很多使用还需要直接调用其他的合约action或者以交易的形式调用自身的action. 发起交易/延时交易 在合约内可以非常方便的发起一个交易,无论是调用外部的合约action还是调用自身的,都很容易. 这里可能你会有疑问,为何调用自身的action要通过发起交易的方式呢?一个最主要的原因是需要有交易记录,如果直接作为内联方法调用了,链上是看不到直观的记录的,而我们通过区块链浏览器查看交易…
简介 智能合约是现在区块链的一大特色,而不同的链使用的智能合约的虚拟机各不相同,编码语言也有很大差异.而今天我们开始学习EOS的智能合约,我也是从EOS初期一直开发合约至今,期间踩过无数坑,也在Stack Overflow上提过问(最后自己解决了),在实际生产中也积累了很多经验,所以我会连续几周分多次分享合约开发的经验,今天先来点基础的. 一些C++的编程基础 EOS就是使用C++开发的,这也为它带来了诸多好处,而合约也沿用C++作为开发语言,虽然合约中无法直接使用Boost等框架(你可以自己引…
简介 我们马上要进入智能合约的开发了,以太坊最初提供了智能合约的功能,并宣告区块链进入2.0时代,而EOS的智能合约更进一步,提供了更多的便利性和可能性.为了进一步了解智能合约,并进行开发,我们需要先准备好智能合约的开发环境,工欲善其事必先利其器,有了好的开发环境,可以加快我们的开发速度,降低bug率. EOS的IDE介绍 EOS的智能合约是使用C++编写的,而编译是使用EOSIO官方出品的eosio.cdt来完成,所以最简单又最复杂的IDE就是一个编辑器+cdt工具. 简单是因为你只需要一个记…
简介 从今天开始我会在FishoPark上与大家分享EOS的一些技术经验和基础,如果大家在看文章的过程中有任何问题,欢迎在网站下方的评论里留言,我会尽力为大家解答,如果发现我内容中所写有错,欢迎指正,谢谢. 那么首先我们在开始学习EOS之前,需要先了解一下EOS开发所需的预备知识和环境. EOS开发准备 EOSIO的开发,你最好具有以下经验: C/C++的开发经验 Linux/Mac的使用经验 命令行的使用经验,最好是bash命令的 在开始前,我们需要准备运行环境,目前EOSIO还不支持Wind…
MyBatis基础入门<十二>删除数据 - @Param参数 描述: 删除数据,这里使用了@Param这个注解,其实在代码中,不使用这个注解也可以的.只是为了学习这个@Param注解,为此使用. 实体类:TblClient.java 接口: 注意: 这个方法中的形参,有使用到了@Param这个参数,小括号里面的变量是在xml文件中的#{client_id} Xml文件: 测试类: 测试结果: 数据库: 如有问题,欢迎纠正!!! 如有转载,请标明源处:https://www.cnblogs.co…
前两篇已经简单为大家介绍了一下,有关Filter接口的知识,本篇就让我们以一个登录小功能,来具体实现一下过滤器的作用,便于大家掌握.具体为大家介绍一下如何使用Filter对访问进行过滤,及如何防止中文乱码的问题,内容不多,大家只要简单一练习便可以掌握. 1.登录表单: 和一般的表单没有任何区别,大家可以新建一个Login.jsp作为登录界面,在其中添加一个表单即可. <body> <center> <form method="post" action=&q…
不知不觉,已经到了基础篇的收尾阶段了,看着前面的十几篇文章,真的有点不敢相信,自己竟然真的坚持了下来,虽然过程中也有过懒散和焦虑,不过结果还是自己所希望的,克服了很多的问题,将自己的作品展现出来,也发布了十多篇博客,感觉也是时候进行阶段性总结然后开始第二阶段了. 其实开始发布博客的时候,我其实挺怕有人留言,问这个软件该怎么装.那个软件该怎么用的,因为我感觉我不是来教装软件的,而且作为一个技术人员如果连基本的搜索资料和学习都懒得去做的话,那我感觉你是有问题的,tomcat.idea.maven.m…
上一篇:[知识总结]多项式全家桶(一)(NTT.加减乘除和求逆) 一.对数函数\(\ln(A)\) 求一个多项式\(B(x)\),满足\(B(x)=\ln(A(x))\). 这里需要一些最基本的微积分知识(不会?戳我(暂时戳不动):[知识总结]微积分初步挖坑待填). 另外,\(n\)次多项式\(A(x)\)可以看成关于\(x\)的\(n\)次函数,可以对其求导.显然,\(A(x)=\sum\limits_{i=0}^{n-1}a_ix^i\)的导数是\(A'(x)=\sum\limits_{i=…
 作者:东西里本文转载于:https://www.jianshu.com/p/514c7588e877来源:简书 转载仅供自己日后看方便.  由于Vue在开发时对路由支持的不足,于是官方补充了vue-router插件.vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的页面应用,是用一些超链接来实现页面切换和跳转的.在vue-router单页面应用中,则是路径之间的切换,实际上就是组件的切换.路由就是SPA(单页应用)的路径管理器.再通俗的说,vue-rou…
理解Cookie和Session机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. 一.Cookie机制 Cookie技术是客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文…
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! httpbin httpbin这个网站能测试 HTTP 请求和响应的各种信息,比如 cookie.ip.headers 和登录验证等,且支持 GET.POST 等多种方法,对 web 开发和测试很有帮助.它用 Python + Flask 编写,是一个开源项目.官方网站:http://httpbin.org/开源地址:https://github.com/Runscope…
前言 本节开始我们进入联接学习,关于连接这一块涉及的内容比较多,我们一步一步循序渐进学习,简短内容,深入的理解,Always to review the basics. 交叉联接(CROSS JOIN) 交叉连接是最简单的联接类型.交叉联接仅执行一个逻辑查询处理阶段-笛卡尔乘积.例如对两个输入表进行操作,联接并生成两个表的笛卡尔乘积,也就是说,将一个表的每一行与另一个表的所有行进行匹配.所以,如果一个表有m行,另一个表有n行,得到的结果中则会有m*n行.我们就拿SQL Server 2012教程…
UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏:设置UINavigationController的toolbarHidden属性可显示UIToolBar. 一.UIToolBar的设置 1.在RootViewController.m的viewDidLoad方法中添加代码: [self.navigationController setToolbarHidden:NO animated:YES]; 如图:显示底部ToolBar 2.设置UITool…
javascript之BOM 学习要点: 屏幕对象 History对象 Location对象 一.屏幕对象 Screen对象是一个由javascript自动创建的对象,该对象的主要作用是描述客户端的显示器的信息. 目前显示器分辨率为800X600或1024X768两种. screen.height:屏幕的高度 screen.width:屏幕的宽度 screen.availHeigh:屏幕的有效高度 screen.availWidth:屏幕的有效宽度 二.History对象 History对象可以…
不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权限修饰符,默认访问, 类,方法,成员变量 private 权限修饰符,私有访问, 方法,成员变量 static 静态修饰符 方法,成员变量 final 最终修饰符 类,方法,成员变量,局部变量 abstract 抽象修饰符 类 ,方法 我们编写程序时,权限修饰符一般放于所有修饰符之前,不同的权限修饰…
SpringBoot构建电商基础秒杀项目 学习笔记 系统架构 存在问题 如何发现容量问题 如何使得系统水平扩展 查询效率低下 活动开始前页面被疯狂刷新 库存行锁问题 下单操作步骤多,缓慢 浪涌流量如何解决 源码:spring-boot-seckill…
Ajax 一.XMLHttpRequest对象 一)XHR用法 var xhr = new XMLHttpRequest(); //open()方法,参数一:发送方法,参数二:请求的URL,参数三:是否发送异步请求 //调用open()方法并会真正发送请求,只是启动一个请求以备发送. xhr.open('get', 'test.txt', false); //send()方法接受一个参数,即作为请求主体要发送的数据,如果无数据也要传入null xhr.send(null); //在收到请求后响应…
一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁.JSP搭配JavaBean来使用, 有以下的优点: 可将HTML和Java代码分离,这主要是为了日后维护的方便.如果把所有的程序代码(HTML和Java)写到JSP 页面中,会使整个程序代码又多又复杂,造成日后维护上的困难. 可利用JavaBean的优点.将常用到的程序写成JavaBean组件,当在JSP要使用时,只要调用Java…
在OC基础(十一)中我们讨论了类别和非正式协议的奇异之处.在使用非正式协议时.能够仅仅实现你想要获得响应的方法.也不必在对象中声明不论什么内容来表示该对象可用作托付对象. 全部这些任务能够用最少的代码完毕. 以下来学习正式协议. 1. 正式协议      与非正式协议一样.正式协议包括了方法和属性的有名称列表. 但与非正式协议不同的是,正式协议须要显示地採用.採用(adopt)协议的办法是在类的@interface声明中列出协议的名称.採用协议后,你的类就要遵守该协议.採用协议就意味着你承诺实现…
一.连接数据库的过程 连接数据库的过程:加载数据库驱动程序,不过只需在第一次访问数据库时加载一次,然后在每次访问数据库时创建一个Connection实例,然后执行操作数据库的SQL语句,并返回执行结果,最后在完成此次操作时销毁前面创建的Connection实例,释放与数据库的连接. 1.加载JDBC驱动程序 // 加载数据库驱动类,加载失败抛出ClassNotFoundException异常 Class.forName(Driver); 2.创建数据库连接 // 创建一个数据库连接对象,创建失败…
一.React如何更新DOM内容: 1.  获取state 数据 2.  获取JSX模版 3.  通过数据 +模版结合,生成真实的DOM, 来显示,以下行代码为例(简称代码1) <div id=' abc '><span>hello world</ span></div> 4.生成代码1对应的虚拟DOM (简称代码2):(解释:虚拟DOM就是一个JS对象,用它来描述真实DOM) ['div', {id: 'abc'}, ['span', {}, 'hello…
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操作 Python中的list操作 Python中的Tuple操作 Pythonmax()和min()–在列表或数组中查找最大值和最小值 Python找到最大的N个(前N个)或最小的N个项目 Python读写CSV文件 Python中使用httplib2–HTTPGET和POST示例 Python将t…
1 气泡图 气泡图和上面的散点图非常类似,只是点的大小不一样,而且是通过参数 s 来进行控制的,多的不说,还是看个示例: 例子一: import matplotlib.pyplot as plt import numpy as np # 处理中文乱码 plt.rcParams['font.sans-serif']=['SimHei'] x_data = np.array([2011,2012,2013,2014,2015,2016,2017]) y_data = np.array([58000,…