POS共识机制竟然漏洞这么多 | 分析POS共识机制的原理带来的思考

序言        上文深入比特币、以太坊源码带你解读POW共识机制我们学习探讨了POW共识机制,看完得童鞋们应该就知道POW是有几大缺点的:出块慢,共识时间长、开销大等等,那么有没有其它的共识机制能够解决这些问题呢?答案当然是:有,它就是POS共识机制。下面我们一起来看看它是怎么做到的。概念       全称为Proof Of Stake,又叫权益

原创 点赞0 阅读151 收藏0 评论0 18 天前

linux下开启关闭端口访问

查看运行状态firewall-cmd --state 结果running 表示运行开启防火墙systemctl start firewalld.service关闭防火墙systemctl stop firewalld.service添加端口firewall-cmd --zone=public --add-port=80/tcp --permanent–permanent代表永久生效,

原创 点赞0 阅读2833 收藏0 评论0 21 天前

从小故事带你理解零知识证明 | 区块链一千零一问

背景零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。其实,早在16世纪的文艺复兴时期,意大利有两位数学家为竞争一元三次方程求根公式发现者的桂冠,就采用了零知识证明的方法。

原创 点赞0 阅读2840 收藏0 评论0 21 天前

linux学习日记 | 非root普通用户添加互信进行免密登录服务器

创建用户 useradd bsp 设置密码 passwd bsp 编辑用户权限 vim /etc/sudoers 如果出现上述权限不足情况,执行下面命令赋权 chmod +w /etc/sudoers 再次执行 vim /etc/sudoers,找到root权限设置,在下面添加一行 bsp ALL=(ALL)  ALL此处的bsp为上面设置的用户名保存退出,并且把写权限移除 chmod

原创 点赞0 阅读4604 收藏0 评论0 22 天前

不要再吹python爬虫了,我大java明明也可以 | java爬取CSDN、知乎文章

爬取文章

原创 点赞0 阅读2365 收藏0 评论0 23 天前

本地项目推送到git远程仓库

初始化git init 代码提交‘

转载 点赞0 阅读10000+ 收藏0 评论0 29 天前

三分钟搞定跨链交易之中继链技术

上一篇: 一文读懂什么是跨链.前言上文我们讲述了跨链相关的一些基础知识,以及针对跨链交易的场景,当前涉及的一些跨链技术,本文我们将重点分析中继链技术。什么是中继链        中继链(relay-chain)又名中继器,旨在构造一个第三方公有链,通过跨链消息传递协议,连接区块链网络中的其它链。可能这个说法比较高端,比较抽象,那我们换个接地气的说法:通过在两个链中加入一个通道,通道内创建一种数据结构,使得两个链可以

原创 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

中继链巨头Polkadot终于要落地了,不会还有人不知道吧 | 一文读懂Polkadot(波卡)

技术背景        一个优秀的项目必定是由一个优秀的领导者带领着一个优秀的团队共同创造的,那么Polkadot这个跨链界扛把子它的领导者和团队是谁呢?        首先,我们来介绍下Polkadot的团队----Parity,做以太区块链开发的,应该都听说过Parity,毕竟Parity开发了第一个支持可插拔的共识引擎的以太虚拟机(EV

原创 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

都2021年了,还不知道什么是区块链就out了 | 从区块链数据结构到应用

区块链诞生背景        2008年11月1日,一个自称“中本聪”的人在一个隐秘的密码学讨论邮件组上贴出一篇研究报告《比特币:一种点对点的电子现金系统》,论文中阐述了希望可以创建一套“基于密码学原理而不基于信用,使得任何达成一致的双方能够直接进行支付,不需要第三方中介参与”的电子支付系统。        2009年1月,以区块链技术为基础的

原创 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

侧链跨链智能合约编写

跨链合约编写可以参照示例合约。这是一个可以跨链转移 token 的 Token 合约。相比普通的 Token 合约增加了 send_to_side_chain 和 recv_from_side_chain 两个函数用于跨链转 token 。send_to_side_chain 只是在一条链上扣掉一部分 token 。等交易执行之后,使用 JsonRPC 接口 cita_getTransactionProof 获取交易执行的证明。将证明发送到另外一个链上的 recv_from_side_chain

转载 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

一文读懂什么是跨链

为什么要跨链?        在区块链所面临的诸多问题中,区块链之间互通性极大程度的限制了区块链的应用空间。不论对于公有链还是私有链,对于同构链还是异构链,未来区块链一定是多链百花齐放的时代。而有了多链,如何实现链之间的价值互通、数据互通?如何构建多链的生态圈?这些是一定需要跨链的,进行跨链不只是连接价值,而且是进行数据的互联和价值的互联,构建一个越来越完备的生态圈。什么是跨链?   &n

原创 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

设计模式之前言

序言在IT圈子的朋友应该有这样的体会:构建一个优秀的系统最困难之处不在于编码(coding),而是在早期做出的设计(design)上的决定。设计是软件开发生命周期中的关键阶段,好的设计能产生好的产品,而不当的设计则会影响最终产品的质量。一个软件设计的优劣,往往越到后期拓展越能体现出差异。再说一个我周边一个比较普遍的现象:        开发人员在入行初期,拿到需求之后,大刀阔斧直接开始上手coding,然后就被反反复

原创 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

设计模式详解

链接: http://c.biancheng.net/view/1317.html

转载 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

hsql+mysql多数据源动态切换

业务背景最近有个需求:需要先启动一个web服务,然后这个服务去部署mysql,redis等相关服务,并且该服务要动态的把mysql和redis在不重启的情况加载进去。项目链接链接: link.

原创 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

fabric-SDK调用参考

SDK调用参考java语言sdk框架及秘钥支持1. **调用前准备**2. **准备调用**java语言sdk框架及秘钥支持框架秘钥fabricSM2,secp256r1-fabric框架应用使用secp256r1、SM2 秘钥的秘钥托管和秘钥上传两种模式1. 调用前准备应用参数应用参数是用户在创建应用成功之后在应用详情页面获取,或者由本地设置的一些参数,具体包含以下参数网关接口地址: 网关接口的调用地址账户名称: 账本的账户名称账户密码: 账户的密码应

原创 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

java实现图片镜像翻转

实现图片旋转有些微信图片以及iphone拍摄的图片是左右翻转的,需要镜像旋转成常规图片/** * @author luowx on 2018/12/20 0020. */public class ImageMirrorUtils { /** * 图片镜像翻转 * * @param source 原图片路径 * @param target 翻转后图片输出路径 */ public static void mirrorImage(S

原创 点赞0 阅读2983 收藏0 评论0 2021-06-08

java实现冒泡排序

冒泡排序原理代码实现原理依次比较相邻的两个数,将小数放在前面,大数放在后面代码实现public static void main(String[] args) { int[] arr = {6, 3, 11, 8, 2, 9, 1, -1}; System.out.println("排序前数组为:"); for (int num : arr) { System.out.print(num + " "); }

原创 点赞0 阅读3026 收藏0 评论0 2021-06-08

java实现回文数判断

需求回文数是指正序(从左向右)和倒序(从右向左)读都是一样的正整数。例如,121 是回文,而 123 不是。解析public static boolean isPalindrome(int x) { int temp = x; //a取值整数的末位数 int a = temp % 10; while (true) { //小于10,直接返回 if (temp < 10) { break;

原创 点赞0 阅读93 收藏0 评论0 2021-06-08

Java数组内求两数之间最大容积

leetcode学习题目链接:https://leetcode-cn.com/problems/container-with-most-water/初解:public static int maxArea(int[] height) { int max = 0; int length = height.length; for (int i = 0; i < length; i++) { for (int j = length-1; j >i; j-

原创 点赞0 阅读100 收藏0 评论0 2021-06-08

java最长公共前缀

leetcode学习题目链接: https://leetcode-cn.com/problems/longest-common-prefix/public String longestCommonPrefix(String[] strs) { String result = ""; int index = 1; out: while (true) { if (strs.length==0){

原创 点赞0 阅读97 收藏0 评论0 2021-06-08

java随机数组找出和为0的三个数

求三数之和为0给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:不能包含重复的三元组原题链接:https://leetcode-cn.com/problems/3sum/题解public static List<List<Integer>> threeSum(int[] nums) { List<List<Integer&

原创 点赞0 阅读91 收藏0 评论0 2021-06-08

IPFS使用教程 | java对接IPFS的SDK

首先,引入IPFS的包maven方式<repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository></repositories><dependency> <groupId>com.github.ipfs</groupId> &

原创 点赞0 阅读10000+ 收藏0 评论0 2021-06-08

java小学妹半夜打电话哭诉:刚入职竟然就要。。。。。。

人在家中坐,瓜从天上来       昨天晚上,恰逢夜深人静,正是撸代码的好时候,突然接到小学妹的电话,小学妹跟我一顿哭,把我给愁的,赶紧一顿关心等学妹缓过来之后,终于了解了来龙去脉,原来学妹刚入职进公司,上级就让她对接银行系统接口。emmm,大家都知道,银行系统大多是RSA加密数据交互的,小学妹这块完全不懂,弄了一天还没有搞定。我一听,嘿嘿,这下该我上场表演了,说不定十四亿的爱情终于轮到我了呢。公钥加密/** * 公钥加密

原创 点赞0 阅读40 收藏0 评论0 2021-06-08

java加密算法之DES篇

闲话不多说,我们直接上干货加密 public static String encrypt(String datasource) { try{ DESKeySpec desKey = new DESKeySpec(PASSWORD.getBytes()); //创建一个密匙工厂,获取secretKey SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");

原创 点赞0 阅读95 收藏0 评论0 2021-06-08

java加密算法之AES篇

加密字符串public static String encode(String encodeKey,String content){ try { KeyGenerator keygen= KeyGenerator.getInstance("AES"); SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); random.setSeed(encodeKey.getBytes());

原创 点赞0 阅读104 收藏0 评论0 2021-06-08

java加密算法之MD5篇

字符串转MD5 public static String toMD5(String str) { MessageDigest messagedigest; try { messagedigest = MessageDigest.getInstance("MD5"); messagedigest.update(str.getBytes("UTF-8")); return bufferToHex(messagedigest.digest()).t

原创 点赞0 阅读97 收藏0 评论0 2021-06-08

java加密算法之JWT篇

加密字符串public static String token(String subject, String secretKey, Date date) { Key key = decodeKey(secretKey); String token = Jwts.builder().setExpiration(date).setSubject(subject).signWith(SignatureAlgorithm.HS256, key).compact(); String bas

原创 点赞0 阅读84 收藏0 评论0 2021-06-08

不知道java如何调用shell脚本?进来教你10行代码搞定

产品与开发的战争       前段时间,产品提了个挺离谱的需求:通过java服务启动自己所需要的数据库和redis。什么意思呢,意思就是我们需要提供一个java服务,但是呢,我们这个java服务用到的mysql和redis没有现成的,需要由这个java服务去安装部署mysql和redis,然后再提供给自己用。       emmmm…当时我人就傻了,后面我一想,产品

原创 点赞0 阅读76 收藏0 评论0 2021-06-08

java加密算法之base64篇

转码String转码byte数组public static byte[] encodeStringForByte(String source) { return source == null ? new byte[]{} : Base64.encodeBase64(source.getBytes());}byte数组转码byte数组public static byte[] encodeStringForByte(byte[] source) { return source == n

原创 点赞0 阅读103 收藏0 评论0 2021-06-08