原创 比特幣中交易簽名

最近在和同事交流我們PalletOne中對UTXO和簽名的處理,有些心得,寫下此博文。對比特幣有點基本概念的都知道,比特幣是通過ECDSA數字簽名來解鎖UTXO中的未花費餘額。 關於UTXO我不需要做太多介紹,畢竟介紹這個概念的

原创 C++ 模板使用簡單示例

#include <iostream> using namespace std; //函數模板 template<class T> void swap1(T &a, T &b) {     T temp = a;     a = b;

原创 C++ set 容器使用

/* g++ set.cc --std=c++17 set 容器使用 set 內部是使用紅黑樹實現的,是一種平衡二叉樹,所以對其插入\查找效率是非常高的,其時間複雜度是log2(n) set是STL中一種標準關聯容器。它底層使

原创 爲什麼還有這麼多人用C++寫服務端?

現代選擇有很多:java + javascript, c+python, c+lua, scala, go, erlang。我們面向性能的服務器用 java,面向邏輯服務器 python,面向高併發的會選擇 scala,次一級高併發或者性

原创 比特幣交易

本文博主博客地址:http://www.huweihuang.com/article/blockchain/blockchain-transactions/ 1. 比特幣交易簡介 比特幣交易是比特幣系統最重要的部分,本質是數據

原创 比特幣密鑰和地址

本文博主博客地址:http://www.huweihuang.com/article/blockchain/blockchain-keys&addresses/ 1. 比特幣密鑰 比特幣的所有權是通過數字密鑰、比特幣地址和數字

原创 影響服務器高性能的四大殺手

本文將與你分享我多年來在服務器開發方面的一些經驗。對於這裏所說的服務器,更精確的定義應該是每秒處理大量離散消息或者請求的服務程序,網絡服務器更符合這種情況,但並非所有的網絡程序都是嚴格意義上的服務器。使用“高性能請求處理程序”是一個很糟糕

原创 比特幣hash計算複雜度

比特幣的難度 首先來看看難度是怎麼來的,比特幣的挖礦裏面,是有一個計算哈希的目標值的,如果這個目標值越小,那麼難度越大。簡單來說,難度是一個指標,用於標示計算當前的目標值的困難程度。 難度計算公式如下: diff = diff_1_tar

原创 C++防函數測試

#include <iostream> #include <deque> #include <vector> #include <algorithm> #include <functional> #include <string> #i

原创 select、poll、epoll之間的區別

原文鏈接:https://www.cnblogs.com/aspirant/p/9166944.html   (1)select==>時間複雜度O(n) 它僅僅知道了,有I/O事件發生了,卻並不

原创 深入select多路複用內核源碼加驅動實現

原文鏈接:https://my.oschina.net/fileoptions/blog/911091   問題      本文嘗試解決以下幾個問題: select中1024限制指的是sele

原创 雲風的協程庫實現

原文鏈接:https://blog.csdn.net/u011228889/article/details/79759834 協程原理 雲風的協程庫實現 保存現場 恢復現場 打造業務零入侵的自用

原创 list 使用

#include <iostream> #include <list> using namespace std; int main() {     list<int> c;     typedef list<int> C;      in

原创 自旋鎖與互斥鎖

原文鏈接:https://blog.csdn.net/u010035604/article/details/84344576 自旋鎖與互斥鎖 理論分析 互斥鎖的問題 自旋鎖應用場景 自旋鎖實踐

原创 IO多路複用原理剖析

原文鏈接:https://juejin.im/post/59f9c6d66fb9a0450e75713f IO多路複用原理剖析 (最近筆試遇到筆試題:select,poll,epoll都是IO多