- 博客(14)
- 收藏
- 关注
原创 Hyperledger_fabric环境安装和测试
本文使用Ubuntu来搭建Fabric v2.2 环境。。。其他系统和版本的下载可参考 https://hyperledger-fabric.readthedocs.io/en/release-2.2/install.html一、 先决条件安装GO环境安装Curl安装Git环境安装Docker环境安装Docker Compose 环境1~3 下载很简单可参考:https://hyperledger-fabric.readthedocs.io/en/release-2.2/prereqs.h
2022-03-16 11:39:52 9966
原创 在两台操作系统下,实现以太坊多个节点间的互联(CentOS, Ubuntu)
对 CSDN 上各个大佬的内容做一个整合,方便以后使用。VM Pro 15.5:链接:https://pan.baidu.com/s/1R2tX5UgW9Zld1Y_RevPCGA提取码:3azoCentOS 7 系统:链接:https://pan.baidu.com/s/1KcWP9P-TA-Bj8n3sICDicg提取码:yd5wUbuntu 18.04.1:链接:https://pan.baidu.com/s/1mZu_YQ94azQSsxFwC-16IQ提取码:zkgx
2022-03-13 14:57:28 9898
原创 go语言并发编程(二)
除了使用通道channel来实现同步外,还可以通过Mutex互斥锁的方式来实现。当多个资源来访问资源时,要实现程序的原子性。 如果没有加锁来实现以下程序。加入WaitGroup还是无法实现程序的原子性var i int = 100var wg sync.WaitGroupfunc add(){ defer wg.Done() i += 1 fmt.Printf("i++ : %v\n", i)}func sub(){ defer wg.Done() i -= 1 fmt.Pr
2022-01-26 23:45:00 193
原创 go语言并发编程(一)
一、 协程Goroutine通常情况下,程序在运行时只有一条主协程,按照顺序的形式来进行执行。 当我们想让程序的两个函数及多个函数进行并发 执行时,需要在函数名前加上关键字go,来为程序建立一个子协程。在子协程结束后,主协程才会结束。通常,应用在Web服务器端来给用户提供信息。import "fmt"import "time"func showMessage(msg string){ for i:=0 ; i<=6 ; i++ { fmt.Printf("msg: %v\n", msg
2022-01-26 17:30:03 330
原创 单链表添加节点的实现思路
单链表是一种链式存储结构,主要分为数据域和指针域。方式也有带头结点和不带头节点,两种方式主要取决于实际情况。eg: 这里采用带头结点的方式来进行如下的编程(1) 按尾插法的方式来添加节点;// 按照尾插法来添加数据public class SingleLinkedListTest { public static void main(String[] args) { HeadNode node1 = new HeadNode(1, "lbb", 23); HeadNode node2 =
2022-01-20 21:15:00 196
原创 STL常用算法
1. 遍历算法:1. for_each; // 遍历容器 for_each(iterator beg, iterator end, _func); // 遍历算法 遍历容器元素 // beg 开始迭代器 // end 结束迭代器 // _func 函数或函数对象2. transform; // 搬运容器到另一个容器中 transform(iterator beg1, iterator end1, iterator beg2, _func); // beg1
2022-01-20 09:45:00 200
原创 队列的模拟思路
队列为一个有序列表,是先进先出的使用数组来实现环形队列设计思路:(1) 首先,创建一个数组,长度为maxSize ,来设置两个节点,一个头节点front指向第一个元素、一个尾节点rear指向最后一个元素的后一个位置,初始化为0(2) 在添加数据时,需要判断队列是否满;在获取数据时,需要判断队列是否空。 添加数据和获取数据时,分别操纵的是rear,front。(3) 判断队列满: (rear+1) % maxSize = front(4) 判断对列空: front == rear(5) 此时队
2022-01-18 12:11:55 326
原创 STL常用容器(二)
1.queue容器基本概念: Queue是一种先进先出的数据结构,有两个出口队列容器允许从一端新增元素,从另一端删除元素队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历1. 构造函数: - queue<T> que; // queue采用模板类实现,queue对象的默认构造形式 - queue(const queue &que); // 拷贝构造函数2. 赋值操作: - queue& operator=(const queue &am
2022-01-18 02:00:00 590
原创 STL常用容器(一)
1. string容器#include<string>1. 四种字符串初始方法2. 赋值方法String& assign(const char *s); //将字符串s赋值给当前的字符串string& assign(const char *s, int n); //把自负床的前n个字符赋值给当前的字符串string& assign(const string &s); //把字符串s赋值给当前字符串string& assign(int n, c
2022-01-17 12:14:14 607
原创 STL组件概念
STL三大组件: 容器、算法、迭代器#include<string>#include<vector>#include<deque>#include<algorithm>iterator创建vector容器vector<数据类型> 名称v;向容器中插入数据:// 尾插法v.push_back(数据);v.push_back(数据);v.push_back(数据);...通过迭代器来遍历容器中的数据:ve
2022-01-17 12:01:06 332
原创 稀疏数组的转换思路及实现
将原始的二维数组经过处理,得到稀疏数组。稀疏数组的格式: 第一行记录原始的二维数组一共有几行几列多少了非零数字(sparseArray) 一共有三列 row col value二维数组 转 稀疏数组的 思路:判断二维数组的行列,及非零元个数,写入到稀疏数组中的第一行中记录非零元个数的位置,依次写入到稀疏数组中稀疏数组 转 二维数组的 思路:先取到第一行稀疏数组的数据行列。再将稀疏数组下的元素信息赋值到原始的二维数组中...
2022-01-17 10:31:13 269
原创 智能合约开发使用
1.xuperchain编译完成后,进入到output创建创始链2. 后台启动xuperchain节点3. 创建合约账号4. 进行转账5. 编写智能合约,初始化c++工程,使用xdev。编译完成后的结果,生成在output目录下6. 如果不存在,则开始编译时就存在问题,此时,编译合约失败,需要返回检查...
2022-01-16 10:36:48 480
原创 百度xuperchain环境搭建
百度链xuperchain环境搭建一、环境部署1. 环境准备本文章主要面对新手在初识XuperChain并对其进行环境搭建时会遇到的问题进行阐述,本人所展示的系统为Ubuntu 18.04。前提: 系统为 Linux 或 macOS (暂不支持 Windows 系列)一、环境部署1. 环境准备XuperChain主要由golang语言开发,因此需要编译go语言运行环境。安装go语言编译环境,官方推荐版本为1.14或1.15官方下载地址:https://golang.org/dl/
2022-01-06 15:51:09 1549 8
原创 初识C语言
@[TOC] * * 初始C语言 * *一、C语言基本语法1. 数据类型 字符型 char ----- 占用 1 字节 短整型 short -----占用 2 字节 整型 int ------ 占用 4 字节 长整型 long -----占用 4 字节 长长整型 long long ------占用 8 字节2.常量 与 变量 1)变量 是指之可变的量。 变量定义方式: int k; 当要使一个变量在整个程序中保持不变时(常属性,常变量), 定义方式为: con
2021-01-04 21:16:42 93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人