- 博客(17)
- 资源 (9)
- 收藏
- 关注
原创 Linked List编程题
输入文件的第一行有两个整数n,q,分别表示初始链表中元素个数和对链表操作的次数,第二行有n个整数,表示初始链表的元素,保证这些数字不超过int表示的范围。接下来q行,每行可能为如下两个操作之一:1 a b表示在第a个元素后面插入值为b的元素,2 a表示将链表中第a个元素删除,如果a大于当时链表长度,则忽略此操作如:输入3 31 2 31 1 41 2 52 2输出...
2019-10-13 19:31:58
1667
2
翻译 Solidity的合约
Solidity中的Contracts与面向对象语言中的类相似。它们包含状态变量和函数中的持久数据,可以修改这些变量。在不同的合约(实例)上调用函数将执行EVM函数调用,从而切换上下文,使得状态变量不可访问。创建合约合合约可以通过以太坊交易或“从外部”创建。IDE(例如Remix)使用UI元素使创建过程无缝。以编程方式在以太坊上创建合同最好通过使用JavaScript API we...
2018-11-10 16:48:16
1067
翻译 Solidity的表达式与控制结构
输入参数和输出参数与在Javascript中一样,函数可以将参数作为输入; 与Javascript和C不同,它们也可以返回任意数量的参数作为输出。输入参数输入参数的声明方式与变量相同。可以省略未使用参数的名称。例如,假设我们希望我们的合约接受一种带有两个整数的外部调用,我们会写如下:pragma solidity >=0.4.16 <0.6.0;contract ...
2018-11-10 16:37:55
514
翻译 Solidity的类型
Solidity是一种静态类型语言,这意味着需要指定每个变量(状态和本地)的类型。Solidity提供了几种基本类型,可以组合形成复杂类型。此外,类型可以在包含运算符的表达式中相互交互。有关各种运算符的快速参考,请参阅运算符的优先顺序。值类型以下类型也称为值类型,因为这些类型的变量将始终按值传递,即它们在用作函数参数或赋值时始终被复制。布尔bool:可能的值是常量true和fa...
2018-11-10 16:33:07
1748
翻译 Solidity合同的结构
Solidity中的Contracts与面向对象语言中的类相似。每个合约都可以包含状态变量,函数, 函数修饰符,事件,结构类型和枚举类型的声明。此外,合约可以继承其他合约。还有一些特殊的合约称为库和接口。状态变量状态变量是其值永久存储在合约存储中的变量。pragma solidity >=0.4.0 <0.6.0;contract SimpleStorage {...
2018-11-10 16:27:13
273
翻译 智能合约的投票、拍卖、远程购买、付款
投票以下合约相当复杂,但展示了很多Solidity的功能。它实施投票合约。当然,电子投票的主要问题是如何为正确的人分配投票权以及如何防止操纵。我们不会在这里解决所有问题,但至少我们将展示如何进行委派投票,以便投票计数是自动的,同时完全透明。这个想法是每次投票创建一个合约,为每个选项提供一个简短的名称。然后,作为主席的合同的创建者将分别对每个地址进行投票。然后,地址背后的人可以选择自己投...
2018-11-10 15:12:30
962
原创 浅谈程序设计中的线程、进程、分布式系统
单线程与多线程的比较: 单线程就是我们学习编程时最开始接触的,比如写一个"hello world"。而在多线程中,其共享code、data、files,同时,它们有各自的registers和stack。 简单地说,多线程有如下的复杂性特点:1、对资源、数据的安全性:锁保护2、原子性:数据操作是天然互斥的3、同步等待:如wait()、noti...
2018-11-10 10:55:36
327
原创 Linux下多进程多线程混合开发框架
多进程和多线程的概念相信大家都大致清楚,就不去百度copy了。这里引用一个比喻来描述下多进程和多线程: 多进程是立体交通系统,虽然造价高,上坡下坡多耗点油,但是不堵车。 多线程是平面交通系统,造价低,但红绿灯太多,老堵车。 我们现在都开跑车,油(主频)有的是,不怕上坡下坡,就怕堵车。 在多进程开发中,每个进程互相独立,不影响主程序的...
2018-07-24 09:37:42
1708
翻译 智能合约概述
原文的翻译,并运行了例子上的合约存储pragma solidity ^0.4.0;contract SimpleStorage { uint storedData; function set(uint x) public { storedData = x; } function get() public constant retur...
2018-03-30 11:00:13
1964
原创 Solidity介绍
Solidity的官网:http://solidity.readthedocs.io/en/develop/Solidity 是一个面向合约的高级语言,其语法类似于JavaScript 。是运行在以太坊虚拟机中的代码。Solidity 是静态类型的编程语言,编译期间会检查其数据类型。支持继承、类和复杂的用户定义类型。在线体验: https://remix.ethereum.org ,...
2018-03-30 09:49:47
13059
原创 以太坊多台主机添加到同一私有链
首先让两台主机处于同一局域网,这里通过wifi使其在同一局域网内对上一节的三个文件拷贝到另外一台主机上,注意一下,这里我将 --datadir的路径设置为与当前主机的一样,如果你们要在别的地方存放,更改路径就行。然后和上一篇讲的一样,在另外一台主机搭建私有链,不清楚看上一篇,先运行init,再运行start,然后出现再打开以Mist钱包Launch进行。...
2018-03-27 20:17:01
1022
原创 以太坊上搭建自己的私有链
首先介绍一下什么是公有链和私有链 公有链:世界上任何一个人都可以参与的区块链。用户可以查看,可以发送交易,也可以参与保持数据一致性的运算等。私有链:完全的私有链是指写权限是由一个人或一个单个组织控制的链。私有链的读权限是可以公开的或者是有限度的在一定范围公开的。比如私有链可以用在数据库的管理,公司内部的管理等。联盟链:联盟链是指,数据一致性的运算被预先设定好的几个节点共同控制的...
2018-03-26 17:32:43
5075
原创 Ethereum和Mist的下载及使用
可到 https://github.com/ethereum/mist/releases/ 下载,选择自己的开发环境,Windows或Linux,32位或64位下载好zip后,解压Windows下的话,打开然后进入钱包接下来步骤参考这个网页里的 http://8btc.com/article-3466-1.html需要提一下的是,在这里中,如果是学习开发...
2018-03-24 21:53:38
2745
转载 以太坊介绍
以太坊: 以太坊的目的是创建一种去中心化应用的协议,提供一套对大量的去中心化应用程序非常有用的新方案,特别强调快速开发,对小的和少数人使用的应用也非常安全(小而使用人少的应用容易被51%攻破),以及不同的应用程序之间能够有效的互动。以太坊通过建立在本质上是抽象的基础层来完成这一工作:一个区块链其内置了图灵完备的编程语言,允许任何人编写智能合约和去中心化的应用程序,在这些应用程序中,他们可以创建任...
2018-03-24 21:18:16
3154
原创 区块链的商机
由于区块链技术去中心化的特性,其在我们生活中的很多重要领域(如金融、管理)等方面具有重要的意义。例如,我们可以通过在我们的公司构建自己的私有链,这也就意味着我们在公司里的所有电脑(也就是在同一局域网)内搭建了我们的区块链平台,我们就可以将如公司的账本等各个交易记录以区块的形式加入到我们的私有链当中,由于其不可篡改,就可以对我们公司的资金交易进行安全性的管理。区块链这个技术对我们以后的金融市场将...
2018-03-24 20:51:59
1128
转载 默克尔树
比特币的一个重要特性,这区块是存在一个多级数据结构中的 。一个区块的“哈希值”实际上只是这个区块的头信息的哈希值,一个大约200个字节的数据,其中包含了时间戳,随机数,上一个区块的哈希和一个存储了这个区块中所有交易的称之为默克尔树的数据结构的根哈希。 默克尔树是一种二叉树,包含了一组节点,它们的含有基础信息的树根有大量的叶子节点,一组中间节点,每一个节点都是它的2个子节点的哈希,然后,...
2018-03-24 20:45:27
622
原创 先浅谈一下区块链
什么是区块链呢?百度上的定义是区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。同时,区块链是现在很多虚拟货币(比特币、以太币等)的底层技术和基础架构。 随着区块链概念理论的不断成熟以及强劲技术的不断深耕,区块链已经成为投资圈中备受关注的热点,从区块链1.0时代落地数字货币比特币、莱特...
2018-03-24 20:12:29
703
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人