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 是以太坊智能合约编 ...
随机推荐
- Mac终端常用快捷键
Ctrl + a 跳到行首Ctrl + e 跳到行尾Ctrl + d 删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit:处理多行标准输入时也表示eof)Ctrl + h ...
- 本地运行vue项目webpack提示 Compiled successfully
最近在github下载运行别人的vue项目后,如下图提示编译成功,但项目并没有启动 最开始我以为是端口问题,修改了config-index.js里的port端口,重新运行后依然是上图提示 ...
- java的递归异常—一个异常可能由另一个异常触发
关键字: Caused by nested exception java.lang.reflect.InvocationTargetException: null at sun.reflect.Nat ...
- Mysql综述--数据是如何读存的?(2)
页的结构 页是一种InnoDB管理存储空间的基本单位,它一般大小在16kb左右.实际上存在着许多不同类型的页,我们这次主要介绍的页是用来存储数据的,也叫做索引页. 接下来看看索引页的结构图: 比较重要 ...
- 2019-11-26-C#-判断方法是否被子类重写
原文:2019-11-26-C#-判断方法是否被子类重写 title author date CreateTime categories C# 判断方法是否被子类重写 lindexi 2019-11- ...
- Python TK编程第一部分 Hello Again
当你想写大一点的程序的时候,将你的代码封装到一个或者多个类里会是一个不错的办法.下面'hello world'这个例子来自Matt Conway的Tkinter Life Preserver. fro ...
- AES加解密异常java.security.InvalidKeyException: Illegal key size
AES加解密异常 Java后台AES解密,抛出异常如下:java.security.InvalidKeyException: Illegal key size Illegal key size or ...
- Vue.js 源码分析(八) 基础篇 依赖注入 provide/inject组合详解
先来看看官网的介绍: 简单的说,当组件的引入层次过多,我们的子孙组件想要获取祖先组件的资源,那么怎么办呢,总不能一直取父级往上吧,而且这样代码结构容易混乱.这个就是这对选项要干的事情 provide和 ...
- SolidWorks 2020新增功能之性能提升
SolidWorks解决方案组合的新功能和增强功能将帮助您最大程度地提高设计和制造资源的生产率,同时使您能够更快地交付创新产品.现在我们很激动地告诉你,三维设计SolidWorks 3D CAD 2 ...
- 机器学习(4)——PCA与梯度上升法
主成分分析(Principal Component Analysis) 一个非监督的机器学习算法 主要用于数据的降维 通过降维,可以发现更便于人类理解的特征 其他应用:可视化.去噪 通过映射,我们可以 ...