区块链开发(六)本地部署 Browser-solidity
来源:互联网 发布:java 面试常见问题 编辑:程序博客网 时间:2024/06/11 07:08
1、基本概念
上篇文章中,已经讲过Go-Ethereum 1.7.2
如何安装及搭建以太坊私有链,这里就不多介绍。
在本文讲解之前,先介绍以下几点基本概念。
1.1、什么是智能合约?
智能合约是存储在区块链上的一段代码,它们可以被区块链上的交易所触发,触发后,这段代码可以从区块链上读取数据或者向区块链上写入数据。
1.2、什么是Solidity?
Solidity 是 Ethereum 的一种契约型编程语言,运行在Ethereum虚拟机(EVM)之上。
1.2.1、Solidity的语言特性
它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同,下面列举一些:
- 以太坊底层是基于帐户,而非UTXO的,所以有一个特殊的Address的类型。用于定位用户,定位合约,定位合约的代码(合约本身也是一个帐户)。
- 由于语言内嵌框架是支持支付的,所以提供了一些关键字,如payable,可以在语言层面直接支持支付。
- 存储是使用网络上的区块链,数据的每一个状态都可以永久存储,所以需要确定变量使用内存,还是区块链。
- 运行环境是在去中心化的网络上,会比较强调合约或函数执行的调用的方式。因为原来一个简单的函数调用变为了一个网络上的节点中的代码执行。
- 最后一个非常大的不同则是它的异常机制,一旦出现异常,所有的执行都将会被回撤,这主要是为了保证合约执行的原子性,以避免中间状态出现的数据不一致。
1.3、什么是 Browser-solidity?
Browser-solidity
是一个官方提供的一个基于浏览器的合约编译器,非常好用,而且build版本会紧跟最新的 Solidity
的 build 版本。但由于网络原因以及GFW的存在,有可能会另一部分人访问很慢,进而影响开发效率。
可以直接在线使用,访问后面的地址:https://remix.ethereum.org
2、Browser-solidity 的源码在哪里?
https://github.com/ethereum/browser-solidity
3、如何在本地安装 Browser-solidity?
由于国内网络的GFW原因,以及在网络上访问会影响效率,推荐部署到本地开发。
安装Browser-solidity
,建议先安装 Nodejs
我们只需要执行以下命令即可安装NodeJS的最新v6版本:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -sudo apt-get install -y nodejs
安装完成后我们可以使用以下两个命令来查看安装的Node版本和npm版本。
node –vnpm -v
下面的4行代码开始将Browser-solidity
安装到本地。
? /home/cuijb/> git clone https://github.com/ethereum/browser-solidity? /home/cuijb/> cd browser-solidity? /home/cuijb/browser-solidity> npm install? /home/cuijb/browser-solidity> npm run prepublish
安装以后,通过以下命令启动
Browser-solidity
:npm start
? /home/cuijb/browser-solidity>npm start> browser-solidity@0.0.0 start /Users/lion/my_project/_eth/browser-solidity> npm-run-all -lpr serve watch onchange[serve ][serve ] > browser-solidity@0.0.0 serve /Users/lion/my_project/_eth/browser-solidity[serve ] > execr --silent http-server .[serve ][watch ][watch ] > browser-solidity@0.0.0 watch /Users/lion/my_project/_eth/browser-solidity[watch ] > watchify src/index.js -dv -p browserify-reload -o build/app.js[watch ][onchange][onchange] > browser-solidity@0.0.0 onchange /Users/lion/my_project/_eth/browser-solidity[onchange] > onchange build/app.js -- npm-run-all lint[onchange][watch ] WS server listening on 58651然后打开浏览器,在地址栏输入:http://127.0.0.1:8080,可以看到以下效果:
阅读全文
0 0
- 区块链开发(六)本地部署 Browser-solidity
- 区块链开发(五) Browser-solidity
- 区块链学堂(10):Browser-solidity
- 区块链学堂(4):以太坊基本概念及工具Geth、Browser-solidity、Mist
- 区块链学堂(11):Browser-solidity 2–右侧的奥秘
- 区块链开发(十)区块链技术-智能合约Solidity编程语言
- 区块链学堂(3):Solidity
- browser-solidity
- 区块链-智能合约简单脚本编写方法(solidity)
- 区块链-智能合约简单脚本编写方法(solidity)
- 区块链入门(5)Truffle 项目实战,Solidity IDE, 智能合约部署
- 区块链学堂(第一课):区块链引子+智能合约+Solidity
- 【Solidity】本地安装Solidity并运行开发环境
- 区块链开发(六)基于以太坊开发常见问题
- 区块链开发(六)区块链架构与应用PPT
- 区块链技术(二):以太坊编程语言SOLIDITY安装
- [Introducing Ethereum and Solidity]以太坊和solidity介绍----第一章-连接区块链知识的断点
- 使用 Browser-solidity 在 Go-Ethereum1.7.2 上进行简单的智能合约部署
- 代理模式
- 定义一个Language类
- Light Probe Proxy Volume component
- TCP编程
- Go语言操作mysql实现增删改查
- 区块链开发(六)本地部署 Browser-solidity
- Java集合框架之Collections类的常用方法
- HttpClient请求
- 支付宝手机网页支付之golang版
- C/C++中#pragma once的使用
- ThreadLocal相关
- html中的图片标签
- 第10章 家用电器用户行为分析与事件识别
- 攻略