Solidity智能合约语言
语言本身
ethereum官网 https://ethereum.org/zh/
笔记
| [类型] | [只能被__调用] |
private |
合约内部 |
internal |
合约内部/继承的合约 |
external |
合约外部 |
public |
任何 |
function test(n个参数) external view onlyOwner anotherModifier { /* ... */ }
参数可为 被调用函数的参数
payable 可支付,可接受ether 以太
官网文档
中文(更新很慢) https://solidity-cn.readthedocs.io/zh/latest/
英文 (最新进度) https://solidity.readthedocs.io/en/latest/
附上环境部分使用说明
注意:NPM安装路径默认是当前目录,修改参见 npm修改全局包安装路径
记得将全局模块目录加入PATH
REMIX-IDE
如果需要python2/3共存,只需要用改名法,具体如下



在重新打开命令行即可使得变量生效
记得使用 npm install remix-ide -g --python=python2 指定python2.exe
https://github.com/ethereum/remix-ide
VS2017安装solidity插件
|
FWIW If you have VS community 2017 then 1-Open the extension using something like 7zip or winzip,
2-Edit the file 'extension.vsixmanifest' simply replacing three ')' with ']'
3-Save it and it appears to work.
4-Double click the extension and it installs (though it does give a warning which you can ignore). 5-You can then do a new Solidity project and compile it.
By shaun pryszlak 2018/12/3
|
也就是以压缩包形式打开,编辑压缩包里的extension.vsixmanifest,搜索')'替换为']',然后保存压缩包,双击安装即可

然后新建Solidity项目并查看项目里的 README.html 部署环境并操作
如果npm安装失败,查看日志发现是网络问题,请 设置 npm 源为淘宝镜像
Remix 在线IDE(新版)使用教程
先激活3个基本插件
Debugger Debug
Deploy & Run Transactions
Solidity Compiler

1. 编译当前打开的合约


2. 部署
选择合约sol文件并点击黄色的Deploy按钮 (
Deploy会调用构造函数
我这里不传入参数,表示调用无参构造方法
当然也可以传入一个uint8值调用构造函数 constructor(uint8 _numProposals)
)

部署成功如下图

点击展开,

填入参数(如我这里填4)并点击前面的按钮即可调用对应的函数(如我的vote函数)
运行结果在控制台可见

基本使用就是这样,更多请自己探究,调试功能是支持的
Solidity智能合约语言的更多相关文章
- 以太坊solidity智能合约语言学习资源整理
暂时看到篇文章写的不错,先收集下来,后面有机会自己也整理一个 Solidity语言学习(一)Solidity语言学习(二)——Solidity的安装与编译Solidity语言学习(三)——智能合约编程 ...
- 智能合约语言Solidity教程系列2 - 地址类型介绍
智能合约语言Solidity教程系列第二篇 - Solidity地址类型介绍. 写在前面 Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你 ...
- 智能合约语言 Solidity 教程系列3 - 函数类型
Solidity 教程系列第三篇 - Solidity 函数类型介绍. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以 ...
- 智能合约语言 Solidity 教程系列4 - 数据存储位置分析
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 这部分的内容官方英文文档讲的不是很透,因此我在参考Soli ...
- 智能合约语言 Solidity 教程系列6 - 结构体与映射
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 本系列文章一部分是参考Solidity官方文档(当前最新版 ...
- 智能合约语言 Solidity 教程系列5 - 数组介绍
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 本文前半部分是参考Solidity官方文档(当前最新版本: ...
- 智能合约语言 Solidity 教程系列8 - Solidity API
这是Solidity教程系列文章第8篇介绍Solidity API,它们主要表现为内置的特殊的变量及函数,存在于全局命名空间里. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应 ...
- 智能合约语言 Solidity 教程系列9 - 错误处理
这是Solidity教程系列文章第9篇介绍Solidity 错误处理. Solidity系列完整的文章列表请查看分类-Solidity. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文 ...
- 智能合约语言 Solidity 教程系列10 - 完全理解函数修改器
这是Solidity教程系列文章第10篇,带大家完全理解Solidity的函数修改器. Solidity系列完整的文章列表请查看分类-Solidity. 写在前面 Solidity 是以太坊智能合约编 ...
随机推荐
- ubuntu16.04跑通Mask R-CNN Demo
1. 下载源码: git clone https://github.com/matterport/Mask_RCNN 2. 安装依赖项(其实就是程序的运行环境) 我是用conda新建的虚拟环境. (1 ...
- vuex 源码解析(三) getter属性详解
有时候我们需要从store中的state中派生出一些状态,例如: <div id="app"> <p>{{reverseMessage}}</p> ...
- 一个利用 Parallel.For 并行处理任务,带有进度条(ProgressBar)的 WinForm 实例(下)
接着上一篇:一个利用 Parallel.For 并行处理任务,带有进度条(ProgressBar)的 WinForm 实例(上) 直接贴代码了: using System; using System. ...
- JVM的监控工具之jvisual
VisualVM(All-in-One Java Trouble shootingTool)是到目前为止随JDK发布的功能最强大的运行监视和故障处理程序,并且可以预见在未来一段时间内都是官方主力发展的 ...
- JWT攻击手册
JSON Web Token(JWT)对于渗透测试人员而言可能是一种非常吸引人的攻击途径,因为它们不仅是让你获得无限访问权限的关键,而且还被视为隐藏了通往以下特权的途径:特权升级,信息泄露,SQLi, ...
- 【机器学习】PCA
目录 PCA 1. PCA最大可分性的思想 2. 基变换(线性变换) 3. 方差 4. 协方差 5. 协方差矩阵 6. 协方差矩阵对角化 7. PCA算法流程 8. PCA算法总结 PCA PCA 就 ...
- C#使用splitContainer控件制作收缩展开面板
C#使用splitContainer控件制作收缩展开面板 原创 2011年07月19日 17:18:02 标签: c# / object / 扩展 / 测试 15690 最近对Squi ...
- SQL Server中INSERT EXEC语句不能嵌套使用(转载)
问: I have three stored procedures Sp1, Sp2 and Sp3.The first one (Sp1) will execute the second one ( ...
- 永久清理git中的历史大文件
原文发布于:https://www.chenxublog.com/2019/05/26/remove-git-big-files.html 有写老的git仓库,因为当年的无知,不会用.gitignor ...
- 基本认证(Basic Authorization)
---------------------------------- import arcpy from base64 import encodestring username = 'xxx' pas ...