首页
学习
活动
专区
工具
TVP
发布

技术专栏

专栏成员
140
文章
245218
阅读量
39
订阅数
JsonView 使用方法
第一步:使用接口声明视图 public interface UserSimpleView{}; //使用jsonview第一步,使用接口声明视图 public interface UserDetailView extends UserSimpleView{}; 第二步:在值对象的get方法上指定视图 @JsonView(UserSimpleView.class) //使用jsonview第二部,在值对象的get方法上指定视图 public String getUse
Meet相识
2018-09-12
2.4K0
2.6 共识机制
共识机制的原理是,当一个节点通过工作量证明打包了区块添加到了区块链上,要和全网其他同时完成工作量证明的节点竞争最长链,如果发现比自己长的链,则替换掉自己的,基于这个,来完成我们的代码编写
Meet相识
2018-09-12
4830
2.5 实现注册节点
实现注册节点这个功能比较简单,就是在我们的BlockChain类中 维护一个成员变量nodes,其类型是Set。然后通过Http接口接受穿过来的地址,将其保存到nodes里
Meet相识
2018-09-12
6550
2.4 添加节点通信功能
2.4 添加节点通信功能 注:由于这里主要以实现区块链基本原理为目的,所以并没有对Flask进行过多设计和封装,敬请谅解 使用Flask启动web服务器 项目结构如下 ├── Pipfile ├── Pipfile.lock ├── __pycache__ ├── app │ ├── __init__.py │ ├── blockchain │ │ ├── __init__.py │ │ └── blockchain.py # 区块链核心结构实现 │ ├── setting
Meet相识
2018-09-12
6200
2.3 添加工作量证明方法
回顾一下工作量证明的原理,对交易信息进行hash,并引入随机字符串来得到hash结果,对hash结果进行难度限制,限制必须以n个0开头。这样节点需要消耗算力不断的尝试新的字符串得到符合条件的结果
Meet相识
2018-09-12
3500
2.2 实现区块类结构,实现交易方法
2.2 实现区块类结构,实现交易方法 """ create by gaowenfeng on 2018/8/25 """ import hashlib import json __author__ = "gaowenfeng" from time import time """ 区块的结构 { "index": 0, 索引 "timestamp": "", 时间戳 "transactions": [ { "sender": "", "recipient": "", "amount": 5 } ], "
Meet相识
2018-09-12
4000
2.1 Python实现区块链环境准备
2.1 Python实现区块链环境准备 HTTP协议的理解 PostMan的安装 https://www.getpostman.com/ Python https://www.python.org/ Pycharm(Python IDE) https://www.jetbrains.com/pycharm/ Pip(安装管理python包的一个工具) pipenv (提供Python的虚拟运行环境) Flask & Request(python web开发)
Meet相识
2018-09-12
4320
Storm 稳定态
假设一个topology有4个worker,2个spout,2个bolt。spout1有4个task,spout2有2个task,bolt1有4个task,bolt2有4个task。(默认一个task对应一个Executor)
Meet相识
2018-09-12
1.1K0
1.5 比特币的原理-为什么记账(挖矿)
之前在将账户如何验证的时候,其实是把账户地址,交易信息进行hash打包的过程。这个过程是需要消耗计算机资源的,既然要消耗资源,那么节点为什么要参与记账呢。在比特币系统里面,完成记账的节点,他是可以获得一定数量的比特币奖励的,这个奖励其实也就是比特币的发行过程。
Meet相识
2018-09-12
1.7K0
1.4 比特币的原理-账户所有权问题
比特币系统里面如何验证某个比特币是谁的,谁拥有这个比特币。我们还是先对标一下银行系统来理解这个问题。
Meet相识
2018-09-12
8890
1.3 比特币的原理-账本如何验证
在中心化的系统里面,如果数据被篡改了,几乎是没有办法验证的,因为他的数据存储在一方,其他人没有办法获取和验证。在分布式的去中心化系统里面,如比特币。每个节点(可以是一个用户的一台电脑(旷工),也可以是一组服务器集群(矿池))都有一份账本的全部信息。这样如果其中一个节点修改了数据,其他节点就会验证不通过(具体的保证机制后面会介绍),也就保证了信息的不可篡改性
Meet相识
2018-09-12
8650
1.2 比特币是什么
比特币是一种数字货币,那么什么是数字货币呢,我们先来看下什么是货币,著名的经济学家凯恩斯在《货币论》中提到货币是可以承载价值的一般等价物
Meet相识
2018-09-12
8790
1.1 区块链的前世今生
说道区块链的历史,就一定离不开一个神秘的组织--密码朋克(Cypherpunk),他其实是一个邮件组,这个邮件组里的成员包含了非常非常多的密码天才。
Meet相识
2018-09-12
8510
Scala入门与进阶(五)- Scala数组
5. Scala数组 1. 定长数组 scala> val a = new Array[String](5) a: Array[String] = Array(null, null, null, null, null) scala> val b = Array("a","b","c") b: Array[String] = Array(a, b, c) scala> b.length res0: Int = 3 scala> val b = Array(1,2,3) b: Array[Int] = A
Meet相识
2018-09-12
5130
Scala入门与进阶(六)- Scala 函数高级操作
7. Scala 函数高级操作 1. 字符串高级操作 val name = "Gwf" println(s"hello $name") val str = """ |这是一个多行字符串 |看到了吗 """.stripMargin println(str) 2. 匿名函数 // 直接定义 scala> (x:Int) => x+1 res19: Int => Int = <function1> // 赋值给变量 scala> val m1 = (x:Int) => x+1 m1: Int => Int
Meet相识
2018-09-12
3820
Scala入门与进阶(五)- 模式匹配
6.模式匹配 1.最基础的模式匹配 Java: 对一个值进行条件判断,返回针对不同的条件进行不同的处理 Scala: 变量 match { case value1 =>代码1, case value2 =>代码2, ... case _ => 代码N } object MatchApp extends App { val names = Array("zhangsan","lisi","wangwu") val name = names(Random.nextInt(names.length)) nam
Meet相识
2018-09-12
5100
Scala入门与进阶(四)- Scala面向对象
Scala面向对象 1.面向对象概述 封装:属性方法封装到类中 继承:父类和子类直接的关系 多态:***** 父类引用指向子类对象 精髓所在,开发框架的基石 2.类的定义和使用 package com.gwf.scala.course04 object SimpleObjectApp { def main(args: Array[String]): Unit = { val person = new People() person.name = "Messi" println(person.name
Meet相识
2018-09-12
4740
Scala入门与进阶(三)- 函数
默认参数:在函数定义时,允许指定参数的默认值 $SPARK_HOME/conf/spark-defaults.conf
Meet相识
2018-09-12
6590
Scala入门与进阶(二)- Scala入门
1.val vs var val: 值 final val 值名称:类型 = xxx var: 变量 可变 var 值名称:类型 = xxx 2.Scala 基本数据类型 Byte/Char Short/Int/Long/Float/Double Boolean 类型转换基本操作 scala> var d = 1.1 d: Double = 1.1 scala> var e:Float = 1.1 <console>:11: error: type mismatch; found : Double(1.
Meet相识
2018-09-12
5490
Scala入门与进阶(一)- 初始Scala
1.初识Scala 1.1 Scala概述 image.png Scala 是整合了面向对象和函数式边恒的高级编程语言。他的一些静态类型能够帮助我们在一些复制的应用程序里面避免到很多bug,并且他的
Meet相识
2018-09-12
5230
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档