工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆
浏览模式: 标准 | 列表全部文章

以太坊编程语言Solidity安装

如果你想测试一段简单的Solidity合约,你不需要安装任何东西,只要访问基于浏览器的Solidity就可以:https://chriseth.github.io/browser-solidity/

通过NPM / node.js命令在线安装

1
npm install solc

如何使用nodejs包的详细信息可以在代码库中找到:https://github.com/chriseth/browser-solidity#nodejs-usage%E3%80%82

二进制安装包

包括Mix IDE的二进制Solidity安装包在Ethereum网站C++ bundle中下载:https://github.com/ethereum/webthree-umbrella/releases%E3%80%82

从源码构建

在MacOS X、Ubuntu和其它类Unix系统中编译安装Solidity非常相似。这个指南开始讲解如何在每个平台下安装相关的依赖软件,然后构建Solidity。

MacOS X

系统需求:

  • Homebrew
  • Xcode

安装Homebrew:

1 2 3 4 5 6
  brew update       brew install boost --c++11             # 需要等待一段时间       brew install cmake cryptopp miniupnpc leveldb gmp libmicrohttpd libjson-rpc-cpp     # 仅仅安装Mix IDE和Alethzero       brew install xz d-bus       brew install llvm --HEAD --with-clang        brew install qt5 --with-d-bus          # 避免长时间的等待没有提示,可以添加 —verbose 输出信息。

安装:xcode

1
xcode-select —install  

Ubuntu系统

Ubuntu系统下面是在最新版Ubuntu系统上编译安装Solidity的指南。最佳的支持平台是2014年11月发布的64位Ubuntu 14.04

安装依赖软件:在你从源码编译之前,你需要准备一些工具和依赖软件。 首先,升级你的代码库。Ubuntu主代码库不提供所有的包,你需要从Ethereum PPA和LLVM获取。 注意

Ubuntu 14.04的用户需要使用:

1
sudo apt-add-repository ppa:george-edison55/cmake-3.x 

获取最新版本的cmake。

现在加入其它的包:

1 2 3 4 5 6 7 8
  sudo apt-get -y update       sudo apt-get -y install language-pack-en-base       sudo dpkg-reconfigure locales       sudo apt-get -y install software-properties-common       sudo add-apt-repository -y ppa:ethereum/ethereum       sudo add-apt-repository -y ppa:ethereum/ethereum-dev       sudo apt-get -y update       sudo apt-get -y upgrade

对于Ubbuntu 15.04(Vivid Vervet)或者更老版本,使用下面的命令获取开发相关的包:

1
  sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcryptopp-dev libjson-rpc-cpp-dev libmicrohttpd-dev libjsoncpp-dev libedit-dev libz-dev

对于Ubbuntu 15.10(Wily Werewolf)或者更新版本,使用下面的命令获取开发相关的包:

1
  sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcryptopp-dev libjsonrpccpp-dev libmicrohttpd-dev libjsoncpp-dev libedit-dev libz-dev

不同版本使用不同获取命令的原因是,libjsonrpccpp-dev已经在15.10以后的Ubuntu的通用代码仓库中。

编译

如果你只准备安装solidity,忽略末尾Alethzero和Mix的错误。

1 2 3 4 5
  git clone --recursive https://github.com/ethereum/webthree-umbrella.git   cd webthree-umbrella   ./webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project solidity # 更新Solidity库   ./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --all --cores 4 -DEVMJIT=0 # 编译Solidity及其它   # 在OS X系统加上DEVMJIT将不能编译,在Linux系统上则没问题

如果你选择安装Alethzero和Mix:

1 2 3
  git clone --recursive https://github.com/ethereum/webthree-umbrella.git   cd webthree-umbrella && mkdir -p build && cd build   cmake ..

好了,正常的话所有安装完毕。

Truffle开发入门

 以太坊是区块链开发领域最好的编程平台,而truffle是以太坊(Ethereum)最受欢迎的一个开发框架,这是我们第一篇区块链技术文章介绍truffle的原因,实战是最重要的事情,这篇文章不讲原理,只搭建环境,运行第一个区块链程序(Dapp)。

安装truffle

$ npm install -g truffle

依赖环境 NodeJS 访问https://nodejs.org 官方网站下载安装

系统:Windows, Linux or Mac OS X,推荐Mac OS X,不建议使用Windows,会碰到各种各样的问题,导致放弃。

需要安装Ethereum客户端,来支持JSON RPC API调用 开发环境,推荐使用EthereumJS TestRPC: https://github.com/ethereumjs/testrpc

安装命令: $ npm install -g ethereumjs-testrpc

新建第一个项目

$ mkdir zhaoxi

$ cd zhaoxi

$ truffle init

默认会生成一个MetaCoin的demo,可以从这个demo中学习truffle的架构

项目目录结构如图:

项目所有文件目录如图:

编译项目

$ truffle compile 

部署项目

部署之前先启动TestRPC

$ testrpc

$ truffle deploy(在Truffle 2.0以上版本中,命令变成了:truffle migrate) $ truffle migrate 执行结果 

启动服务

$ truffle serve 

启动服务后,可以在浏览器访问项目: http://localhost:8080/ ,网页界面如下:

好了,第一个区块链程序跑起来了

linux环境下NPM安装小结(淘宝镜像)

 

1、安装Nodejs

  官网地址为http://nodejs.org

  但国外地址下载太慢了,建议从淘宝下载(https://npm.taobao.org/mirrors/node/)

wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz

  解压:

tar -zxvf node-v4.4.7-linux-x64.tar.gz

  设置环境变量:

export PATH=$PATH:/opt/node-v4.4.7-linux-x64/bin

 

-----

wget https://npm.taobao.org/mirrors/node/latest-v6.x/node-v6.9.2.tar.gz

tar zxvf 

./configure;make;make install

--------------------- 

 

2、安装NMP

  下载nmp安装包,一般nodejs包中已经包含了,设置过环境变量就可以直接使用nmp命令了,如果没有安装,先下载:

  官网地址:www.npmjs.com 

  淘宝地址:https://npm.taobao.org/mirrors/npm/

  安装使用如下命令:

node cli.js install npm -gf

 

3、安装CNMP(非必要)

  由于NMP源都在国外,下载相关资源很慢,所以建议用国内的淘宝NPM镜像(http://npm.taobao.org/)

  通过cnmp命令安装的包都会从淘宝NMP下载,速度很快。  

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

  安装完之后,安装模块的命令就变为:

$ cnpm install [name]

  同步模块命令为:

$ cnpm sync connect

python3 的安装

 wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz -c

xz -d Python-3.4.3.tar.xz
tar xvf Python-3.4.3.tar
cd Python-3.4.3
./configure --prefix=/usr
make
make install
 
ln -sf /usr/bin/python3.4 /usr/bin/python

pip安装

 pip安装方法
   Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。
   Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。
   安装Pip
   Pip的安装可以通过源代码包,easy_install或者脚本。
   下面介绍一下各种安装方法:
   源代码方式:
   $ wget https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz (替换为最新的包)
   $ tar xzf pip-1.2.1.tar.gz
   $ cd pip-1.2.1.tar.gz
   $ python setup.py install
   easy_install:
   $ easy_install pip
   get_pip.py 脚本:
   $ curl -0 https://raw.github.com/pypa/pip/master/contrib/get-pip.py
   $ sudo python get-pip.py
   OK, 下面来看一下Pip的使用
   安装package
   $ pip install Markdown
   列出安装的packages
   $ pip freeze
   安装特定版本的package
   通过使用==, >=, <=, >, <来指定一个版本号。
   $ pip install 'Markdown<2.0'
   $ pip install 'Markdown>2.0,<2.0.3'
   升级包
   升级包到当前最新的版本,可以使用-U 或者 --upgrade
   $ pip install -U Markdown
   卸载包
   $ pip uninstall Markdown
   查询包
   pip search "Markdown"

tar.xz文件如何解压

 

XZ压缩最新压缩率之王

xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数linux默认就带的一个压缩工具。

之前xz使用一直很少,所以几乎没有什么提起。

我是在下载phpmyadmin的时候看到这种压缩格式的,phpmyadmin压缩包xz格式的居然比7z还要小,这引起我的兴趣。

最新一段时间会经常听到xz被采用的声音,像是最新的archlinux某些东西就使用xz压缩。不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些。不过压缩是一次性的,所以可以忽略。

xz压缩文件方法或命令

xz -z 要压缩的文件

如果要保留被压缩的文件加上参数 -k ,如果要设置压缩率加入参数 -0 到 -9调节压缩率。如果不设置,默认压缩等级是6.

xz解压文件方法或命令

xz -d 要解压的文件

同样使用 -k 参数来保留被解压缩的文件。

创建或解压tar.xz文件的方法

习惯了 tar czvf 或 tar xzvf 的人可能碰到 tar.xz也会想用单一命令搞定解压或压缩。其实不行 tar里面没有征对xz格式的参数比如 z是针对 gzip,j是针对 bzip2。

创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz

解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。

DNF的命令使用教学

 DNF新一代的RPM软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,他取代了YUM,正式成为 Fedora 22 的包管理器。

 
DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。
 
DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。
 
DNF 的最新稳定发行版版本号是 1.0,发行日期是2015年5月11日。 这一版本的额 DNF 包管理器(包括在他之前的所有版本) 都大部分采用 Pathon 编写,发行许可为GPL v2.
 
– 安装 DNF 包管理器
 
DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经默认使用 DNF .
 
1.为了安装 DNF ,您必须先安装并启用 epel-release 依赖。
 
在系统中执行以下命令:
 
# yum install epel-release
 
或者
 
# yum install epel-release -y
 
其实这里并没有强制使用”-y”的理由,相反的,在不使用”-y”的情况下,用户可以在安装过程中查看到底有哪些东西被安装进了系统。但对于没有这个需求的用户,您可以在 YUM 中使用”-y”参数来自动安装所有东西。
 
2.使用 epel-release 依赖中的 YUM 命令来安装 DNF 包。、
 
在系统中执行以下命令:# yum install dnf
 
然后, DNF 包管理器就被成功的安装到你的系统中了。接下来,是时候开始我们的教程了!在这个教程中,您将会学到27个用于 DNF 包管理器的命令。使用这些命令,你可以方便有效的管理您系统中的 RPM 软件包。现在,让我们开始学习 DNF 包管理器的27条常用命令吧!

Tor,让你变身互联网“黑影人”

 距去年6月的棱镜门事件已经过去一年了,密码学已然从计算机科学的角落一跃登上了舞台中央。用户隐私团体和日益壮大的加密技术企业开始向大众宣告,给一切事物——电子邮件、信息甚至极限运动的GIF图——进行加密,是有可能实现的。

当然,我们仍需要一步一个台阶地来建立起真正的个人在线隐私系统,但至少我们现在正在靠近这个目标。仅仅依靠加密来隐藏信息内容,却将信息发布者暴露在外是不够的。相反,如果用匿名密码工具完全隐藏自己的身份,成为畅游于网络里的“黑影人”,那么监听者可能都不知道上哪儿去找你的交流信息,更别提偷看了。“在网络森林里隐藏好自己。”安全专家布鲁斯·施耐尔(Bruce Schneier)给出了躲避国家安全局的贴心小提示,“越隐蔽,越安全。”

如何化身“黑影人”?

Tor(The Onion Router)或许不是网络匿名访问的唯一手段,但毫无疑问它是目前最流行、最受开发者欢迎的。这个免费、开源的程序可以给网络流量进行三重加密,并将用户流量在世界各地的电脑终端里跳跃传递,这样就很难去追踪它的来源。大部分的Tor用户只把它作为一个匿名浏览网页的工具,不过实际上它潜力十足:Tor软件可以在操作系统后台运行,创建一个代理链接将用户连接到Tor网络。随着越来越多的软件甚至操作系统都开始允许用户选择通过Tor链接发送所有流量,这使得你几乎可以用任何类型的在线服务来掩盖自己的身份。

Tor的logo。由于Tor可以通过层层保护将用户信息包裹起来,因此被形象地比作洋葱。图片来源:torproject.org

有些用户甚至会尝试把Tor用在他们所有的通信中。“这就像素食主义,”隐私活动家、前开发者鲁纳·山德维克(Runa Sandvik)说道,“你只吃特定的食物,我只用Tor。我上网的时候不会被定位,也不会被追踪,我喜欢这主意。”那具体操作过程应该是什么样的呢?这儿给出了各种保护你在线生活的“黑影人斗篷”。

浏览器

Tor浏览器是非盈利性质的Tor项目开发的一款免费应用。它是火狐浏览器的安全强化版,可以把你所有的网络流量都通过Tor的匿名网络加密。得益于三重加密系统和让流量在全球的电脑上传递,Tor浏览器可能是最接近真正的网络匿名的工具。

不过,坏消息是,它会很慢。

“浏览器的速度正在变快。”隐私专家米加·李(Micah Lee)说。在过去的一个多月里,除了浏览需要flash或者其他插件的网页,李已经将Tor当成了主要的浏览器。

在开始尝试一星期后,李表示换一个浏览器还没什么感觉。“虽然并非完全必须,不过也没什么不方便。”他说,“而且确实对我的个人隐私保护有好处。只要在网上,任何人在任何地方都会被追踪到,但你可以选择隐藏好自己。”

电子邮件

想发送匿名邮件?最简单的方法是使用Tor浏览器的电子邮件服务。不过首先你需要在Tor Mail申请一个新邮箱(该服务已于2013年8月10日下线)。不同于其他需要提供手机号码才能申请的邮箱(比如Gmail),申请Tor邮箱无需提供任何个人信息。

山德维克同时推荐了一款一次性的电子邮件服务:Guerrilla Mail。只需轻轻一点,你就可以建立一个新的、随机生成的邮箱。如果和Tor浏览器结合使用则效果拔群:没人(包括Guerrilla Mail本身)能通过这个临时邮箱追踪到你的IP地址。

然而对电子邮件进行信息加密可不是件容易的事儿。用户通常需要通过复制和粘贴来把信息弄进文本框,然后还要使用PGP(Pretty Good Privacy,一个隐私保护程序)来加密和解密。为了避免这一麻烦,李建议使用有隐私保护的邮件服务商,比如Riseup.net,或者使用 Mozilla开发的邮件程序Thunderbird、隐私插件Enigmail或者可以通过Tor发送信息的插件TorBirdy。

《名侦探柯南》中的“黑影人”一直是全剧中最神秘莫测(误)的角色。现在Tor技术可以让你在网上也做一个“黑影人”。图片来源:cswomen.cn

即时通讯工具

AdiumPidgin是Mac以及Windows上最常用的支持加密协议OTR的即时通讯客户端,Tor也同样支持该软件。不过Tor现在正在打造一款更安全的匿名即时通信软件,Instant Bird。该软件预计将于在七月中旬面世。

大文件传输

Google Drive和Dropbox在用户隐私方面做得并不好,所以李开发了Onionshare,一个可以让任何人通过Tor传送大文件的开源软件。当你使用它时,程序会通过“Tor隐藏服务(Tor Hidden Service)”,创建一个本地的、临时的匿名网站。文件接收方需要得到一个以.onion为后缀的文件地址,然后就可以通过Tor浏览器安全、匿名地下载文件了。

移动设备

手机以及平板电脑上的匿名工具开发还远远落后于电脑,不过好在它们正在迎头赶上。“守卫项目(The Guardian Project)”开发了一个叫Orbot的APP,这样就能在Android系统上使用Tor了。手机上的浏览器、电子邮件和信息都能通过Orbot设置成使用Tor代理。

iOS设备目前还没有这类服务。不过iOS的应用程序商店里有Onion浏览器,这可以帮助iPhone和iPad用户匿名访问网络。Tor的开发者在今年4月修补了一些程序漏洞,不过目前该APP还不完善,山特维克建议用户再等待一段时间。实际上她建议敏感用户应当坚持使用更成熟的Tor桌面端服务:“如果我需要匿名,那么我可不会去考虑手机平台”。

其他

即使你使用Tor软件来在互联网中变身“黑影人”,你的电脑仍然会有少量信息泄露到网上。美国国家安全局甚至可以从未加密的Windows错误信息来辨别、追踪用户。攻击者也能通过你访问的网页来攻击你的电脑,突破你的浏览器,并发送未受保护的信息来暴露你的位置。

对于真正的偏执狂来说,使用鲜少有人知道、基于Tor匿名网络的Whonix操作系统是个好主意。这个系统会在本地创建多重虚拟主机,作为真实主机的映像。任何试图攻破计算机的攻击者将会被限制在虚拟主机中。

虚拟化是希望“黑影化”的用户的有力工具。李曾表示:“如果你的电脑被黑了,那一切都玩儿完了。而在线上交流时创建虚拟沙盒将会是保护你的电脑安全的有效方法。如果想要在网上真正的匿名,你还要做许多许多的安全工作。”(编辑:球藻怪)