自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 交互设计

现在的软件开发过程是在电脑稀缺时代形成的,开发者更多地考虑如何有效地利用电脑资源,迫使电脑的使用者迎合电脑的行为。开发过程的前期引入交互设计,产品不再满足用户的需要,你向用户提供他们渴望的东西。在开始编制软件前做好交互设计就可以创建强大而美好的软件产品。好的设计师总是设计更好的界面usability可用性。设计文档是必须遵守的蓝图,不是一种建议。理解商务的技术专家和懂技术的商人是可以成功的,...

2019-01-03 16:11:15 348

原创 levelDB

所有的数据存储在levelDB这个Google开源的KeyValue文件数据库中,整个区块链的所有数据都存储在一个levelDB的数据库中,levelDB支持按照文件大小切分文件的功能,所以我们看到的区块链的数据都是一个一个小文件,其实这些小文件都是一个同一个levelDB实例。levelDB官方网站介绍的特点特点:key和value都是任意长度的字节数组;entry(即一条K-V记录)默认是按照...

2018-03-21 15:54:17 757

原创 巨蟹座

巨蟹座一辈子很难认真爱一次!怕受伤、怕背叛、怕没有结果……总之, 巨蟹座没有安全感,就不会冒险去爱什么人……如果你是他(她)真爱的人, 那恭喜你中头彩了,这辈子他(她)都只对你一个人专一,至死不渝,相当坚 持!巨蟹座的人,善于暧昧。在感情空窗的时期,暧昧是其消遣的主要方式, 最好A,B,C,D……全陪他(她)无聊解闷,而且专挑单身的暧昧。有对象 的敬而远之,怕在拉拉扯扯中搞出一个对角关系来,怕麻烦...

2018-03-16 09:22:06 473 2

原创 RLP

Trie树的序列化和反序列化序列化主要是指把内存表示的数据存放到数据库里面, 反序列化是指把数据库里面的Trie数据加载成内存表示的数据。 序列化的目的主要是方便存储,减少存储大小等。 反序列化的目的是把存储的数据加载到内存,方便Trie树的插入,查询,修改等需求。以太坊所相关有网络上 x 发送的数据均遵循 RLP 编码。提供了一种适用于任意二进制数据数组的编码,RLP已经成为以太坊中对对象进行序...

2018-03-15 17:23:17 2405 1

原创 a

9 WARN [discover]  UDP channel closed. Recreating after 5 sec pause...07:34:11.202 INFO [net]  TCP: Speed in/out 686b / 829b(sec), packets in/out 29/36, total in/out: 51Mb / 63Mb07:34:11.202 INFO [net...

2018-03-14 07:50:28 229

原创 run ethereumj

java客户端是从源码启动,使用gradle编译执行 git clone https://github.com/ethereum/ethereumj.git安装gradle1)将gradle-3.0-all.zip文件解压缩到某一个目录,比如:D:\dev\gradle-3.02)新建系统变量:GRADLE_HOME,指向gradle的安装目录3)将%GRADLE_HOME%\bin追加到PATH...

2018-02-25 19:42:49 1533 3

原创 go

https://www.jianshu.com/p/c0aeaad4e3ca

2018-02-12 18:10:49 253

原创 p2p

p2p模块对外暴露了Server关键结构,帮助上层管理复杂的p2p网路,使其集中于Protocol的实现,只关注于数据的传输.Server使用discover模块,在指定的UDP端口管理网络中结点的发现以及维护,discover模块能够直接和临近结点交换各自已知结点信息,从而不断的更新结点网络.Server还是用nat模块来进行TCP端口映射,而nat主要是利用upnp和pmp两个协议,如果没有,...

2018-02-11 21:19:40 555

原创 加密算法

私钥“abcde”通过椭圆加密算法生成公钥,公钥hash后生成固定长度的address;发送者用公钥加密,接收者用私钥解密。MD 是 Message Digest的缩写,顾名思义,数字摘要是对数字内容进行 Hash 运算,获取唯一的摘要值来指代原始数字内容。目前,一般认为 MD5 和 SHA1 已经不够安全,推荐至少使用 SHA2-256 算法。数字摘要是 Hash 算法最重要的一个用途。在网络上...

2018-02-11 14:34:13 241

原创 中国区块链技术白皮书

1:区块链与云计算      区块链技术的开发、研究与测试工作涉及多个系统,时间与资金成本等问题将阻碍区块链技术的突破,基于区块链技术的软件开发依然是一个高门槛的工作。云计算服务具有资源弹性伸缩、快速调整、低成本、高可靠性的特质,能够帮助中小企业快速低成本地进行区块链开发部署。两项技术融合,将加速区块链技术成熟,推动区块链从金融业向更多领域拓展。      2015年11月,微软在Azure云平台...

2018-02-09 16:25:01 2244

原创 《图说区块链》读书笔记一

互联网金融与金融科技:“金融科技”来自于国外,“互联网金融”是国内独有,二者有着内在的联系。互联网金融可以看做是金融业务科技化特定阶段的特定概念,随着金融体系融入更多元的科技因素,如智能机器人、VR、生物验证技术等,互联网金融一词就显得捉襟见肘了,金融科技的概括性更强,有望取而代之。金融科技更偏向于科技,而互联网金融更多的是指一种商业模式。在一些金融科技企业看来,“金融科技”主要是利用大数据、区块...

2018-02-08 14:36:04 1090

原创 《图说区块链》读书笔记--btc架构

2016.7.20第42万个btc被开采出来,开始奖励减半,变为12.5个,接下来的减半在63万个,四年后。私钥本质上是32位字节组成的数组,公钥和地址的生成都依赖于私钥,有了私钥就能生成公钥和地址,哈希算法将任意长度的二进制值映射为固定长度的较小二进制值(哈希值)    网络层主要实现各节点的信息交流,激励层是btc(2100万枚之前)和手续费(2100万枚之后)。合约层是交易机制、智能合约、脚...

2018-02-06 19:04:35 608

原创 《图说区块链》读书笔记--btc扩容

一个区块每秒能处理的交易数:4194.3/600=7,交易数据再大些(比如500字节而不是250)更少了,交易拥堵而缓慢,一笔交易发生后前面还有好多等待确认,等到一定程度达到容量极限就崩了。扩容到多少意见不统一,另外有的用户升级有的不升级,就分叉了。硬分叉是永久的(未升级用户无法验证已升级用户),已升级的可以验证未升级的,然后大家各自延续自己认为正确的链。需要在某个时间点全部同意分叉升级,不同意的...

2018-02-06 18:41:43 474

原创 非对称加密

公钥可公开发布,用于发送方加密要发送的信息,私钥用于接收方解密接收到的加密内容。公私钥对计算时间较长,主要用于加密较少的数据。常用的非对称加密算法有RSA和ECC。公有链上交易数据全网可见,公众可以跟踪这些交易,任何人可以通过观察区块链得出关于某事的结论,不利于个人或机构的合法隐私保护。针对该类风险的应对策略是:第一,由认证机构代理用户在区块链上进行交易,用户资料和个人行为不进入区块链。第二,不采...

2018-02-06 17:44:36 329

原创 Merkle树

区块链利用 Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。 Merkle树的叶子节点存储的是数据信息的哈希值,非叶子的节点存储的是对其下面所有叶子节点的组合进行哈希计算后得出的哈希值。同样地,区块中任意一个数据的变更都会导致 Merkle树结构发生变化,在交易信息验证比对的过程中, Merkle树结构能够大大减少数据的计算量,毕竟,我们只需验证 Merkle树结树...

2018-02-06 17:26:51 678

原创 设计篇

现在的软件开发过程是在电脑稀缺时代形成的,开发者更多地考虑如何有效地利用电脑资源,迫使电脑的使用者迎合电脑的行为。开发过程的前期引入交互设计,产品不再满足用户的需要,你向用户提供他们渴望的东西。在开始编制软件前做好交互设计就可以创建强大而美好的软件产品。好的设计师总是设计更好的界面usability可用性。设计文档是必须遵守的蓝图,不是一种建议。理解商务的技术专家和懂技术的商人是可以成功的,有敏锐...

2018-02-06 15:09:29 247

转载 使用Etherum Wallet连接私有链

直接启动Mist的时候,钱包会直接连接公有链,而在开发过程中,我们希望连接私有链.首先启动geth先启动geth,连接好私有链.```geth.exe --datadir=d:/privnet --networkid 89120348581 ```我在windows下,ubuntu,mac等系统也类似启动钱包(Mist)不能直接启动,要通过--rpc参数来让其认

2018-02-01 17:26:15 3174 1

原创 ArrayList与Iterator的remove操作不同结果

for(int i=0;i    MyCombinationOrder order=myOrderList.get(i);    if(order!=null){        if ("119".equals(order.yewutype)||"120".equals(order.yewutype)||"121".equals(order.yewutype)) {            myOr

2018-01-19 09:22:42 778

原创 《区块链技术指南》一

       第一枚bitcoin诞生于2009.1.3 18:15:05,流行于2010年后,最多支持过单笔1.5亿美金的交易。bicoin实现了匿名化交易(洗钱方便了),世界范围内的银行大家可以互信吗?需要世界范围内都能访问的分布式数据库,发行速度自动调整,总量固定,单个币值肯定随着承认群体的扩大而水涨船高,发行速度的调整则避免了通胀或滞胀的出现。打造一个彼此信任的基础设施,交易无法伪造,合同...

2017-11-22 19:16:49 522

原创 NodeJs

JavaScript最早是运行在浏览器中,Node.js是服务端的JavaScript。Node.js允许在后端(脱离浏览器环境)运行JavaScript代码。使用Node.js时,我们不仅仅在实现一个应用,同时还实现了整个HTTP服务器。在我的印象里,把主文件叫做index.js或多或少是个标准格式。把服务器模块放进叫server.js的文件里则很好理解。在JavaScript中,函数和其他

2017-11-20 16:05:38 209

原创 区块链开源项目

bitcoin stars:>100 forks:>50bitcoin OR wallet stars:>100 forks:>50 in:file extension:md我们使用github的搜索功能,并选择forks数量倒序排列,查询:bitcoin language:JavaScript注意:每一个fork背后可能就是一个全新的产品,forks代表了程序被二次开发的情

2017-11-08 16:56:18 6324 1

转载 区块链架构设计和知识图谱

ajax不是什么新技术,但组合在一起就成就了产品谷歌地球,与之类似,区块链也不是什么新技术,但与加密解密技术、P2P网络等组合在一起,就诞生了比特币。区块链作为比特币背后的技术,无需中心服务器。比特币等加密货币存储数据的一种独特方式,是一种自引用的数据结构,用来存储大量交易信息。区块链是一项技术,加密货币是其开发实现的一类产品(含有代币,也有不含代币的区块链产品)。与加密货币相比,区块链这个名字抛

2017-11-08 16:45:37 1049

原创 加密货币与共识机制

“Cryptocurrency”也有人翻译成“密码货币”,加密货币就是货币,言外之意就是“加密货币可能不是货币”,加密货币首先是一种数字货币。早在比特币出现之前,“数字货币”、“虚拟货币”、“电子货币”等就已经出现了,特别以“虚拟货币”居多,最简单的理解就是“货币数字化或虚拟化”。后来游戏平台提出了游戏币的概念,通过法币直接兑换,然后,玩家使用它购买各种装备。接着,很多网站也推出了各种币,通过游戏

2017-11-08 16:24:29 3002

原创 价值互联网

区块链是“第二代互联网”1)“价值互联网”。  09年区块链技术没有诞生之前,整个互联网大致的归类为信息互联网,因为互联网技术主要是用来解决信息的传递,信息的存储,后来比特币区块链是一个很特别的专门用于处理货币的一张网,我们把那叫做是价值互联网。价值互联网,用最通俗的话来解释。就是我们试图发明一整套新的互联网技术,使得将来我们能够像现在处理信息这样来处理资金,就像是发份邮件那样方便发送资金、接受资...

2017-11-07 16:21:26 3975

原创 万向集团押注区块链

      万向集团创立于1969年,从生产农业机械的小作坊起家的民营企业,是中国第一个为美国通用汽车公司提供零部件的OEM厂商,也是最早收购美国公司的中国民营企业之一。在2015年胡润百富榜中,万向创始人鲁冠球家族以650亿名列第10位。这家以机械制造起家、后又进入农业且年收入过千亿的民营企业,竟然也是中国最早开始关注和布局区块链技术的大型企业之一。2014年开始关注以比特币为代表的数字货币,随...

2017-11-07 15:24:47 1446

原创 迅雷All in区块链

      2015年推出的赚钱宝,就是一个出租用户闲置带宽和硬盘资源的设备。具体做法是,购买迅雷赚钱宝硬件,再添加一块硬盘,连上宽带,作为迅雷星域CDN的一个小小节点,在网络中不断上传数据。迅雷在星域CDN网站上将这些闲散资源打包卖给视频网站、直播网站等需求客户,再将一部分收益返还给用户,这就是赚钱宝的商业模式。玩客云通过宽带上传速度挖取矿石,从而贩卖获取利润的一个模式。今年,迅雷在此基础上又换...

2017-11-07 14:00:30 1069

原创 区块链应用实例

   互联网花费了近十年的时间才成为我们日常生活不可磨灭的一部分。但是,区块链的使用将会更加迅速,可能只需要5年时间。区块链发展的第三阶段将出现许多大规模的区块链技术的应用,阻碍区块链大规模应用的主要因素是技术障碍,技术限制比监管限制更加严重。区块链底层的核心技术有三个,一个是共识算法,二是一个加密算法,第三是智能合约。区块链技术的规模化的应用有待于底层核心技术的突破一是代币正在以惊人的速度不断扩...

2017-11-07 09:44:14 20306

转载 bitcoin百喻经-通俗原理

CDN:content delivery network内容分发网络,根据网络流量,各节点之间的连接,负载状况,将用户的请求重新导向离用户最近的服务节点上,更迅速地得到所需内容。比特币在去中心化的p2p网络中运行,以区块链(可以比喻为公开的账本)的形式保存在公开的分布式数据库中,任何人都可以下载(复印账本)。区块链像一个链条有始无终,平均十分钟产生一个新区快,添加到尾部。一个区块可以比喻为一个账单...

2017-11-06 17:30:22 259

原创 区块链是什么

区块链技术是通过 2008 年诞生的比特币货币得以被认知,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础...

2017-11-03 14:56:28 1026

原创 《交互设计之路》读书摘要

现在的软件开发过程是在电脑稀缺时代形成的,开发者更多地考虑如何有效地利用电脑资源,迫使电脑的使用者迎合电脑的行为。开发过程的前期引入交互设计,产品不再满足用户的需要,你向用户提供他们渴望的东西。在开始编制软件前做好交互设计就可以创建强大而美好的软件产品。好的设计师总是设计更好的界面,usability可用性。设计文档是必须遵守的蓝图,不是一种建议。能干的程序员往往挑选他们觉得好玩的有趣的问题,而不...

2017-10-11 17:52:32 375

原创 调用android系统邮件发送邮件

Uri uri = Uri.parse("mailto:[email protected]");        Intent intent = new Intent(Intent.ACTION_SENDTO, uri);        intent.putExtra(Intent.EXTRA_SUBJECT, "这是邮件的主题部分"); // 主题        intent.putExt

2017-10-10 15:22:08 599

原创 PopupWindow无法捕获返回事件的解决方案

PopupWindow 跟我们的 Activity 不一样,因为我们在构造 PW 的时候往往不是继承来的,而是 new 出来的。所以不能使用重写 PW 的 onKeyDown() 之类的方法来截获键盘事件。网上很多方案经验证无法解决。我的解决方案如下对最外层布局view.getViewTreeObserver().addOnGlobalLayoutListener(mLayoutChangeL

2017-08-21 10:27:42 630

原创 微信emoji、gif图片的实现及小米一键清除逻辑

如图所示,微信这种gif动图是怎么实现的呢?gif动画的渲染网上有很多资料,gridview的左右滑动也不难实现,难点在于要把gif区域的图片渲染到gif区域之外的区域,这就需要事件的监听,x、y位置的传递,接口如下:public interface OnGifShowListener {        void onGifShow(int resId, int topMargin, in

2017-08-16 15:14:27 836

原创 引用

void swap(int x,int y){ int temp=x; x=y; y=temp;}void swap(Pig x,Pig y){ Pig temp=x; x=y; y=temp; Log.d("chendy","swap x="+x.getLabel()+" y="+y.getLabel());}void test(Pig

2017-07-12 18:12:22 300

原创 Circular Queue

为了方便起见,约定:初始化建空队时,令      front=rear=0,  当队空时:front=rear  当队满时:front=rear 亦成立  因此只凭等式front=rear无法判断队空还是队满。  有两种方法处理上述问题:    (1)另设一个标志位以区别队列是空还是满。    (2)少用一个元素空间,约定以“队列头指针front在队尾指针rear的下一个位

2017-04-10 16:36:04 340

原创 笔试题

1、  int i = 10, j = 18, k = 30;        switch (j - i) {            case 8:                k++;                System.out.println("aaa");            case 9:                k++;           

2017-03-16 16:03:58 185

原创 二分查找

http://www.cnblogs.com/coderising/p/5708632.html

2017-03-14 17:33:48 364

原创 排序算法

选择排序是从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了。可以很清楚的发现,选择排序是固定位置,找元素。相比于插入排序的固定元素找位置,是两种思维方式。

2017-03-07 15:45:01 253

原创 多态性

根据绑定时机的不同,可以将多态性分为两 种最基本的形式: 1)编译时多态性是指在“绑定的过程”在程序 编译阶段即可完成(静态绑定) ●主要通过使用重载机制获得                       方法名字必须相同;                        参数列表必须不同2)运行时多态性是指“绑定的过程”必须等到 程序动态运行时才能够完成(动态绑定) ●主要通过继承+

2017-02-27 18:25:02 1186

原创 多线程

class SellTicket implements Runnable{ private int ticket=10; public void run(){ for(int i=0;i<20;i++){ if(this.ticket>0){ Log.d(

2017-02-17 14:41:14 460

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除