年度归档: 2018年

16 篇文章

基础知识总结-数据结构
顺序结构 顺序栈(Sequence Stack) SqStack.cpp /** * @author huihut * @E-mail:huihut@outlook.com * @version 创建时间:2016年9月9日 * 说明:本程序实现了一个顺序栈。 * 功能:有初始化、销毁、判断空、清空、入栈、出栈、取元素的操作。 */ #includ…
节点准入机制
节点准入机制 由于使用CA流程需要特定的工具去生成证书以及颁发证书,流程比较复杂。前期打算用节点公私钥进行验证。假设此时已经搭建完第一个主节点A,此时B节点待加入。大概流程如下: 节点A的信息会写入创世区块。我们对第一个创建的主节点,不允许删除,不允许更新。 在链A上将A节点信息以及B节点信息写入系统合约。节点信息大概有节点IP,节点p2p通讯端口…
智能合约Solidity编程语言
Solidity语言 本文全部来自《智能合约Solidity编程语言》,我只是做了搬运工搬过来方便我自己查看而已。 Solidity是一种智能合约高级语言,运行在Ethereum虚拟机(EVM)之上。 Solidity与其它语言相关的特点? 它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又…
Juice联盟链搭建流程
Juice联盟链搭建流程备忘录 给Juice联盟链搭建流程做个备忘录,自己使用脚本自动化部署链要用到。 主链搭建流程 创建前链验证 主要是验证链的状态信息,比如已经搭建的好的不允许再搭建。 URL:/nodeMainValidate.do Request Data: {} Response:{"ret":0,"mess…
基础知识总结-操作系统
进程与线程 对于有线程系统: 进程是资源分配的独立单位 线程是资源调度的独立单位 对于无线程系统: 进程是资源调度、分配的独立单位 进程之间的通信方式以及优缺点 管道(PIPE) 有名管道:一种半双工的通信方式,它允许无亲缘关系进程间的通信 优点:可以实现任意关系的进程间的通信 缺点:长期存于系统中,使用不当容易出错;缓冲区有限 无名管道:一种半双…
基础知识总结-tx
√ 单向链表反转 √ top K 问题 红黑树,AVL数,B+, B-树等的区别。 √ 希尔排序 二叉树改平衡树 √ C++11的智能指针 √ 跳表 boot loader。 √ 进程的状态转换图。 √ 进程间通信的方式。 内核态和用户态的区别,为什么要这样划分,如果不这样划分你觉得理由是什么。 √ 知道的几种设计模式。 √ 多态用什么实现(虚函数…
基础知识总结-常用字符串函数实现
strcpy 功  能: 将参数src字符串拷贝至参数dest所指的地址 用  法: char *strcpy(char *dest, const char *src) 返回值: 返回参数dest的字符串起始地址 说  明: 如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况,在编写程序时需特别留意,或者用strncpy()来取代 …
基础知识总结-C++
const 作用 修饰变量,说明该变量不可以被改变; 修饰指针,分为指向常量的指针和指针常量; 常量引用,经常用于形参类型,即避免了拷贝,又避免了函数对值的修改; 修饰成员函数,说明该成员函数内不能修改成员变量。 助记法宝 1、关键看const 修饰谁。 2、由于没有 const * 的运算,若出现 const * 的形式,则const实际上是修饰…
以太坊C++系列(05)-状态通道的简要实现
背景描述 以太坊为作为一个公有链,允许任何人发布智能合约,但使用以太坊网络的成本很高,无论是普通交易或是智能合约都需要一定费用。尤其对于大批量的小额交易来讲,由于这些交易是需要全网共识的,如果频繁的执行智能合约,不但会增加以太坊网络的负担,光交易手续费一项,就让人望而却步。 状态通道为此提供了一种新的思路,通过将部分流程移出到链外来提高区块链的效率…
以太坊C++系列(04)-给合约加个权限
背景描述 在以太坊中,只要你部署到链上的合约,任何人都是只要付出对应的gas就可以调用你的合约来执行你合约中的方法,为了防止别人调用你的合约,你一般在合约的方法中加上对合约的控制权限,假设智能合约中有一个转钱的伪代码如下: function transferFrom(address _from, address _to, uint256 _valu…