语言本身

ethereum官网 https://ethereum.org/zh/

笔记

uint[] result = new uint[](3);
 
uint[] memory result = new uint[](ownerZombieCount[_owner]);
 
 
 
 
[类型] [只能被__调用]
private  合约内部
internal  合约内部/继承的合约
external  合约外部
public  任何
 
状态修饰符
 
view    不写 数据,
pure    不读写
这两个从合约外部调用不费gas,内部调用会耗费gas
 
自定义modifiers
function test(n个参数) external view onlyOwner anotherModifier { /* ... */ }

参数可为 被调用函数的参数

payable       可支付,可接受ether 以太

 
ERC20 代币像货币一样,按面值算,例如0.273以太
ERC721 代币是不能互换的,因为每个代币都被认为是唯一且不可分割的。 你只能以整个单位交易它们,并且每个单位都有唯一的 ID。(不过ERC721还没有正式的官方标准)
 
 
多继承
contract A is B,C {}

 

官网文档

中文(更新很慢) 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插件

下载插件(此处安装会失败,提示不兼容VS2017问题),然后根据Q&A里热心用户的教程
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智能合约语言的更多相关文章

  1. 以太坊solidity智能合约语言学习资源整理

    暂时看到篇文章写的不错,先收集下来,后面有机会自己也整理一个 Solidity语言学习(一)Solidity语言学习(二)——Solidity的安装与编译Solidity语言学习(三)——智能合约编程 ...

  2. 智能合约语言Solidity教程系列2 - 地址类型介绍

    智能合约语言Solidity教程系列第二篇 - Solidity地址类型介绍. 写在前面 Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你 ...

  3. 智能合约语言 Solidity 教程系列3 - 函数类型

    Solidity 教程系列第三篇 - Solidity 函数类型介绍. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以 ...

  4. 智能合约语言 Solidity 教程系列4 - 数据存储位置分析

    写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 这部分的内容官方英文文档讲的不是很透,因此我在参考Soli ...

  5. 智能合约语言 Solidity 教程系列6 - 结构体与映射

    写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 本系列文章一部分是参考Solidity官方文档(当前最新版 ...

  6. 智能合约语言 Solidity 教程系列5 - 数组介绍

    写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 本文前半部分是参考Solidity官方文档(当前最新版本: ...

  7. 智能合约语言 Solidity 教程系列8 - Solidity API

    这是Solidity教程系列文章第8篇介绍Solidity API,它们主要表现为内置的特殊的变量及函数,存在于全局命名空间里. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应 ...

  8. 智能合约语言 Solidity 教程系列9 - 错误处理

    这是Solidity教程系列文章第9篇介绍Solidity 错误处理. Solidity系列完整的文章列表请查看分类-Solidity. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文 ...

  9. 智能合约语言 Solidity 教程系列10 - 完全理解函数修改器

    这是Solidity教程系列文章第10篇,带大家完全理解Solidity的函数修改器. Solidity系列完整的文章列表请查看分类-Solidity. 写在前面 Solidity 是以太坊智能合约编 ...

随机推荐

  1. 明解C语言 中级篇 第一章答案

    练习1-1 #include <stdio.h> #include<stdlib.h> int main() { srand(time()); ; printf("您 ...

  2. sierpinski地毯(II)

    今天又是因为可以用py而高兴的一天. 继续咱的sierpinski地毯计划. 二,随机算法 在二十年前,磁盘容量以MB还是KB计的时候,分形解决计图的问题确实有很大的优势.存至多十来个数就好了.我要在 ...

  3. jQuery 源码分析(五) map函数 $.map和$.fn.map函数 详解

    $.map() 函数用于使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回,该函数有三个参数,如下: elems Array/Object类型 指定的需要处理的数组或 ...

  4. docker命令之link

    1.新建两台容器,第二台(busybox_2)link到第一台(busybox_1) [root@localhost ~]# docker run -d -it --name busybox_1 bu ...

  5. WEBAPI 设置上传文件大小

    参考资料:https://stackoverflow.com/questions/33399267/cors-error-when-uploading-larger-files    https:// ...

  6. ASP.NET MVC过滤器学习笔记

    1.过滤器的两个特征 1.他是一种特性,可以引用到控制器类和Action方法上.比如下图 这里控制器类和action方法都引用了过滤器,这个过滤器是用来做授权的 2.特征继承自FilterAttrib ...

  7. MySQL整形手工注入

    0x1 判断注入点: http://www.xxx.org/members.php?id=1 and 1=1 --+ # ture http://www.xxx.org/members.php?id= ...

  8. AI人脸识别的测试重点

    最常见的 AI应用就是人脸识别,因此这篇文章从人脸识别的架构和核心上,来讲讲测试的重点. 测试之前需要先了解人脸识别的整个流程,红色标识代表的是对应AI架构中的各个阶段 首先是人脸采集. 安装拍照摄像 ...

  9. 多个python版本共存时的pip配置

    两种方法来配置pip Func1: 1.1 找到python环境的安装包,将python.exe文件重命名,如:将python2.7版本的python.exe重命名为Python2.exe,将pyth ...

  10. CMS垃圾收集器深入详解

    上一次[https://www.cnblogs.com/webor2006/p/11048407.html]对安全点和安全区进行了理论化的了解,接下来继续对CMS进行其它理论的了解,还是纯理论!!坚持 ...