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 是以太坊智能合约编 ...
随机推荐
- Allure+pytest 生成测试报告
简介: python 主流自动化测试报告插件有三个:HTMLTestRunner.BeautifulReport 和 Allure.HTMLTestRunner是一个比较古老的报告模板,界面也不是很好 ...
- Elasticsearch搜索调优权威指南 (1/3)
本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/qwkZKLb_ghmlwrqMkqlb7Q英文原文:https://qbox.io/blog/ela ...
- TensorFlow函数: tf.stop_gradient
停止梯度计算. 在图形中执行时,此操作按原样输出其输入张量. 在构建计算梯度的操作时,这个操作会阻止将其输入的共享考虑在内.通常情况下,梯度生成器将操作添加到图形中,通过递归查找有助于其计算的输入来计 ...
- 微信小程序小Demo
微信小程序小Demo 调用API,轮播图,排行榜,底部BabTar的使用... board // board/board.js Page({ /** * 页面的初始数据 */ // 可以是网络路径图片 ...
- ASP.NET Core appsettings.json 文件
ASP.NET Core appsettings.json 文件 在本节中,我们将讨论 ASP.NET Core 项目中appsettings.json文件的重要性. 在以前的 ASP.NET 版本中 ...
- WPF MVVM框架(5)
前面几章节所讲到的内容, 基本上属于前端XAML的使用方法, 那么本章及后面的章节, 则会侧重于UI与业务分离如何分离 . UI与业务逻辑之间的互操作性,, 下面将介绍WPF中, 比较主流的MVVM框 ...
- 学习shiro第二天
昨天讲了shiro的认证流程以及代码实现,今天将对这个进行扩展. 因为我们的测试数据是shiro.ini文件中配置的静态数据,但实际上数据应该从数据库中查询出来才合理,因此我们今天讲讲JdbcReal ...
- 【微信小程序】动态设置图片大小
我们都知道微信小程序的组件image是用来显示图片的,它有一下几个属性:1.src 图片资源地址2.mode 图片裁剪.缩放的模式3.binderror ...
- python 树与二叉树的实现
1.树的基本概念 1.树的定义 树的定义是递归的,树是一种递归的数据结构. 1)树的根结点没有前驱结点,除根结点之外所有结点有且只有一个前驱结点 2)树中所有结点可以有零个或多个后继结点 2.树的术语 ...
- 第九届极客大挑战——怎么又是江师傅的秘密(java反序列化)
这道题其实是考jsp和java的,我没学过jsp,java倒是有一点了解,但是刚拿到题的时候还是看不懂java代码里的内容,所以去简单学习了下jsp(jsp教程),按照教程里的步骤搭建了eclipse ...