社区
曹一峰的课程社区_NO_1
以太坊区块链实战视频教程(全球同步升级)
帖子详情
开发智能合约语言与IDE
linapex888
2023-01-12 23:31:03
课时名称
课时知识点
开发智能合约语言与IDE
...全文
38
回复
打赏
收藏
开发智能合约语言与IDE
课时名称课时知识点开发智能合约语言与IDE
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
区块链
智能合约
开发
介绍.pdf
区块链
智能合约
开发
介绍.pdf
Solidity
智能合约
语言
.pdf
Solidity
智能合约
语⾔
智能合约
语⾔ 语⾔本⾝ 语⾔本⾝ ethereum官⽹ 笔记 笔记 uint[] result = new uint[](3); uint[] memory result = new uint[](ownerZombieCount[_owner]); 状态修饰符 view 不写 数据, pure 不读写 这两个从合约外部调⽤不费gas,内部调⽤会耗费gas ⾃定义modifiers 参数可为 被调⽤函数的参数 payable 可⽀付,可接受ether 以太 ERC20 代币像货币⼀样,按⾯值算,例如0.273以太 ERC721 代币是不能互换的,因为每个代币都被认为是唯⼀且不可分割的。 你只能以整个单位交易它们,并且每个单位都有唯⼀的 ID。(不过ERC721还没有正式的官⽅标准) 多继承 contract A is B,C {} 官⽹⽂档 官⽹⽂档 中⽂(更新很慢) 英⽂ (最新进度) 附上环境部分使⽤说明 附上环境部分使⽤说明 注意:NPM安装路径默认是当前⽬录,修改参见 记得将全局模块⽬录加⼊PATH REMIX-
IDE
如果需要python2/3共存,只需要⽤改名法,具体如下 [类型] [只能被__调⽤] private 合约内部 internal 合约内部/继承的合约 external 合约外部 public 任何 function test(n个参数) external view onlyOwner anotherModifier { /* ... */ } 在重新打开命令⾏即可使得变量⽣效 记得使⽤ npm install remix-
ide
-g --python=python2 指定python2.exe VS2017安装 安装solidity插件 插件 浏览器打开 下载插件(此处安装会失败,提⽰不兼容VS2017问题),然后根据Q&A⾥热⼼⽤户的教程 也就是以压缩包形式打开,编辑压缩包⾥的extension.vsixmanifest,搜索')'替换为']',然后保存压缩包,双击安装即可 然后新建Solidity项⽬并查看项⽬⾥的 README.html 部署环境并操作 如果npm安装失败,查看⽇志发现是⽹络问题,请 Remix 在线 在线
IDE
(新版 新版)使⽤教程 使⽤教程 先激活3个基本插件 Debugger Debug Deploy & Run Transactions Solidity Compiler 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 1. 编译当前打开的合约 2. 部署 选择合约sol⽂件并点击黄⾊的Deploy按钮 ( Deploy会调⽤构造函数 我这⾥不传⼊参数,表⽰调⽤⽆参构造⽅法 当然也可以传⼊⼀个uint8值调⽤构造函数 constructor(uint8 _numProposals) ) 部署成功如下图 点击展开, 填⼊参数(如我这⾥填4)并点击前⾯的按钮即可调⽤对应的函数(如我的vote函数) 运⾏结果在控制台可见 基本使⽤就是这样,更多请⾃⼰探究,调试功能是⽀持的
使用solidity编程
语言
编写
智能合约
.pdf
使⽤solidity编程语⾔编写
智能合约
智能合约
编程语⾔ solidity语⾔ ⽂章⽬录 前⾔ 随着区块链技术的不断发展,区块链被越来越多运⽤到⽣活中,什么是区块链
智能合约
嘞?简单说下,
智能合约
,就是⼀段写在区块链上的 代码,⼀旦某个事件触发合约中的条款,代码即⾃动执⾏。也就是说,满⾜条件就执⾏,不需要⼈为操控。
智能合约
是区块链上的⼀段程 序,没有
智能合约
,区块链还是区块链。⽐较扯的是很多链为了让⾃⼰有
智能合约
,于是移植了兼容以太坊的
智能合约
功能。⽽solidity语 ⾔的闻名,正是因为使⽤solidity语⾔编写的以太坊
智能合约
的成功,以太坊的巨⼤成功,使得solidity语⾔⼀夜成名。 ⼀、solidity语⾔是什么? Solidity是⼀种
智能合约
⾼级语⾔,运⾏在Ethereum虚拟机(EVM)之上。Solidity是⾯向
智能合约
的编程语⾔。也即Solidity发明出来的 ⽬的就是为了实现
智能合约
。但是请注意,
智能合约
的实现⼿段不⽌是Solidity,其他的语⾔⽐如Go, JS等同样可以⽤来实现
智能合约
。只 不过Solidity专门⽤来做这件事情,是不是就⽐其他的语⾔更好⽤,需要慢慢发现。使⽤solidity语⾔来进⾏
智能合约
的编程。 以下介绍⼏个有关solidity编程
智能合约
的⽹站。 1.在线编译运⾏
智能合约
⽹站 Remix。 2.简单学习区块链
智能合约
⽹站 cryptozombies。 ⼆、⼀个简单的solidity
智能合约
1.编写
智能合约
我们⾸先打开在线
智能合约
⽹站。 创建⼀个新sol⽂件,如图命名为ZombieFactory.sol 开始编写合约,有关僵⼫⼯⼚合约如下: 代码如下(⽰例): pragma solidity ^0.4.19; contract ZombieFactory { event NewZombie(uint zombieId, string name, uint dna); uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; struct Zombie { string name; uint dna; } Zombie[] public zombies; function _createZombie(string _name, uint _dna) private { uint id = zombies.push(Zombie(_name, _dna)) - 1; NewZombie(id, _name, _dna); } function _generateRandomDna(string _str) private view returns (uint) { uint rand = uint(keccak256(_str)); return rand % dnaModulus; } function createRandomZombie(string _name) public { uint randDna = _generateRandomDna(_name); _createZombie(_name, randDna); } } 2.编译合约 注意编译合约,应该选择符合
智能合约
编写版本的版本要求,这⾥我们选择0.4.19+commit.c4cbbb05.Emscripten.clang编译器版本。 点击开始编译(Ctrl+s)进⾏编译,编译成功之后,在下⽅会出现绿⾊的合约名字,即⼀下界⾯ 这就表⽰
智能合约
成功编译。 3.部署合约 在
智能合约
成功编译,之后我们就需要将
智能合约
部署到区块链上⾯,因为我们在这⾥是进⾏学习测试,因此我们在测试⽹络上⾯部署合 约。在节点环境选择JS虚拟机。选择之后,他就会给你提供测试⽹络上⾯的地址,⾥⾯有100ETH的gas费⽤,⾜够
智能合约
部署和使⽤的 gas消费。 选择好节点环境之后,接下来正式进⼊部署环节,总共有两种部署⽅式,我们是编写
智能合约
进⾏部署,因此我们之间点击部署按钮就⾏, 下⽅那个输⼊合约地址进⾏部署,现在暂时⽤不到。 成功部署之后,在下⽅就会显⽰部署成功的合约名字。 在这个ZombieFactory
智能合约
之中,有⼀个public⽅法和⼀个数组zombies。 可以调⽤createRandomZombie⽅法创建⾃⼰的Zombie。 注意因为在区块链⽹络上⾯进⾏合约的部署,和调⽤都需要你花费gas进⾏使⽤,就相当于你开⾼速需要油费⼀样。 因此进⾏⼀系列的部署和调⽤之后,该账户的ETH余额会减少。 总结 第⼀次solidity语⾔来部署合约,我感到⼀种想要了解区块链
智能合约
的迫切感。初探
智能合约
世界,感到⾃⼰所拥有知识的不⾜,各种编 程语⾔皆有所通,骚年,认真学习吧,哈哈
基于Java和
智能合约
的活动发布与售票系统设计源码
该项目是基于Java和
智能合约
的活动发布与售票系统设计源码,共包含31个文件,其中包括10个Solidity
智能合约
文件、3个Java源文件、3个ABI接口文件、3个BIN二进制文件、3个JavaScript脚本文件、2个JSON数据文件、1个DS_Store文件、1个Babel配置文件、1个Git忽略文件、1个Markdown文档。该系统专注于活动发布与售票功能,通过
智能合约
实现安全可靠的交易处理,适用于需要此类功能的平台或组织。
Go-OpenZeppelin一个在Ethereum上构建安全
智能合约
的框架
OpenZeppelin,一个在Ethereum上构建安全
智能合约
的框架
曹一峰的课程社区_NO_1
1
社区成员
32
社区内容
发帖
与我相关
我的任务
曹一峰的课程社区_NO_1
复制链接
扫一扫
分享
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章