摘要:交易(transaction)是比特币的核心所在,而区块链的唯一目的,也正是为了能够安全可靠地存储交易。在区块链中,交易一旦被创建,就没有任何人能够再去修改或是删除它。在今天的文章中,我们会实现交易的通用机制。 如果以前开发过 web 应用,在支付的实现环节,你可能会在数据库中创建这样两张表: ac
阅读全文
摘要:有了区块和区块链的基本结构,有了工作量证明,我们已经可以开始挖矿了。剩下就是最核心的功能-交易,但是在开始实现交易这一重大功能之前,我们还要预先做一些铺垫,比如数据的序列化和启动命令解析。 根据《用 Go 构建一个区块链》的目录, 本章节的区块数据的序列化存储会使用一款KV数据库。其中比特币中是使用
阅读全文
摘要:本文主要在之前的区块链原形上添加了工作量证明,并且为后继的交易功能做好准备. 上一个章节我们已经创建了区块链的基本原形,但是区块的哈希计算和加入太过于简单,如果按照这种速度添加区块那么区块链估计一个小时就爆满了。 真实的比特币中是全网一个小时产生6个区块,我们的示例中也需要调整区块哈希计算的难度。
阅读全文
摘要:/* 作 者: itdef 欢迎转帖 请保持文本完整并注明出处 技术博客 http://www.cnblogs.com/itdef/ 技术交流群 群号码:432336863欢迎c c++ windows驱动爱好者 服务器程序员沟通交流部分老代码存放地点http://www.oschina.net/c
阅读全文
摘要:/* 作 者: itdef 欢迎转帖 请保持文本完整并注明出处 技术博客 http://www.cnblogs.com/itdef/ 技术交流群 群号码:432336863欢迎c c++ windows驱动爱好者 服务器程序员沟通交流部分老代码存放地点http://www.oschina.net/c
阅读全文
摘要:/* 作 者: itdef 欢迎转帖 请保持文本完整并注明出处 技术博客 http://www.cnblogs.com/itdef/ 技术交流群 群号码:432336863欢迎c c++ windows驱动爱好者 服务器程序员沟通交流部分老代码存放地点http://www.oschina.net/c
阅读全文
摘要:将问题细化 建立简单模型 逐个学习 一些资料 c++区块 英文 https://davenash.com/2017/10/build-a-blockchain-with-c/ 代码 https://github.com/teaandcode/TestChain 中文翻译版 https://blog.
阅读全文
摘要:解析文本为 XXXX=E:\test\1234
阅读全文
摘要:最近就是忙工作项目 工作间隙就刷了刷LEETCODE 所以没啥更新 1 // 1111111.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <vector> 6 #include <queue> 7 8 using names
阅读全文
摘要:1 #include <stdio.h> 2 #include <iostream> 3 4 using namespace std; 5 6 int book[101], sum, n, e[101][101]; 7 8 void dfs(int cur) { 9 int i; 10 std::c
阅读全文
摘要:学习https://github.com/huoyu820125/SecondPaxos 自己编写网络版本 在学习过程将此代码的线程 锁等改成c++11 就不用包含那么多文件 主要更改如下 1 // MyPaxos.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include "std
阅读全文
摘要:// MuSkipList.cpp: 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <random> #include <iostream> #include <set> #include <assert.h> using namespace std;
阅读全文
摘要:在leveldb 学习记录(一) skiplist 已经将skiplist的插入 查找等操作流程用图示说明 这里在介绍 下skiplist的代码 里面有几个模块 template<typename Key, class Comparator>class SkipList {......} class
阅读全文
摘要:为什么要windows版本? 因为方便调试跟进 VS的体验真的很不错. 搜索了一段时间才发现GITHUB有windows版本的leveldb 但是使用VS编译也有不少坑 可以下载网络上的其他朋友的版本 也可以新建VS空工程导入代码 git地址 https://github.com/google/le
阅读全文
摘要:zt http://www.cnblogs.com/captainl1993/p/4788236.html zt http://www.cnblogs.com/captainl1993/p/4788236.html 1、数据服务器详细设计 数据服务器在设计上采用三个层次的数据同步,实现玩家数据的高速
阅读全文
摘要:1 使用boost asio网络库 可参照boost asio的文档示例 (异步 同步) 可参考 boost asio 一个聊天的基本框架 asio的网络通讯代码练手 2 使用智能指针 bind function 简化编程 提升效率 参考本博客其他文章 可参考虚函数与bind 实现设计模式的练习 c
阅读全文
摘要:相同模式使用虚函数与bind function进行实现对比 1 #include "stdafx.h" 2 #include <iostream> 3 #include <functional> 4 #include <windows.h> 5 6 class Calculater { 7 publ
阅读全文
摘要:socket连接中需要判断超时 所以这几天看了看boost中计时器的文档和示例 一共有五个例子 从简单的同步等待到异步调用超时处理 先看第一个例子 1 // timer1.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <ios
阅读全文
摘要:1 使用protobuf 2.x 下载地址(3.x 在c++11 vs2017下报错) 源码 https://github.com/google/protobuf 或者直接下载 二进制文件 2 如果下载的是代码 编译需要使用cmake 来生成VC的工程 cmake的使用从略 编译设置如图 3 如果下
阅读全文
摘要:asio的网络基本模板(单例模式 消息队列 ) 1 // MyAsio.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <iostream> 6 #include <assert.h> 7 #include "NetMgr.h"
阅读全文