![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
区块链
矮油葛格嗨你好
这个作者很懒,什么都没留下…
展开
-
Solidity学习之应用前端和Web3.js
以太坊网络是由节点组成的,每一个节点都包含了区块链的一份拷贝。当你想要调用一份智能合约的一个方法,你需要从其中一个节点中查找并告诉它:智能合约的地址你想调用的方法你想传入那个方法的参数以太坊节点只能识别一种叫做 JSON-RPC 的语言。在 Web3.js 里设置 Web3 的 Provider(提供者) 告诉我们的代码应该和 哪个节点 交互来处理我们的读写。引入web3.js:可以从 github 直接下载压缩后的 .js 文件 然后包含到你的项目文件中:<script lang原创 2020-07-14 13:59:18 · 846 阅读 · 0 评论 -
Solidity学习之函数修饰符
https://cryptozombies.io/zh/lesson/4/chapter/1截至目前,我们只接触到很少的 函数修饰符。要记住所有的东西很难,所以我们来个概览:我们有决定函数何时和被谁调用的可见性修饰符: private 意味着它只能被合约内部调用; internal 就像 private 但是也能被继承的合约调用; external 只能从合约外部调用;最后 public 可以在任何地方调用,不管是内部还是外部。我们也有状态修饰符, 告诉我们函数如何和区块链交互: view原创 2020-07-12 15:56:16 · 534 阅读 · 2 评论 -
Solidity学习之时间单位
变量now返回当前的Unix时间戳(自1970年1月1日以来经过的秒数),Unix时间传统用一个32位的整数进行存储Solidity还包含秒(seconds),分钟(minutes),小时(hours),天(days),周(weeks) 和 年(years) 等时间单位。它们都会转换成对应的秒数放入 uint 中。...原创 2020-07-11 19:43:27 · 988 阅读 · 0 评论 -
Solidity学习之Ownable.sol、Modifier、Gas
https://cryptozombies.io/zh/lesson/3/chapter/2Ownable 合约基本都会这么干:合约创建,构造函数先行,将其 owner 设置为msg.sender(其部署者) 为它加上一个修饰符onlyOwner,它会限制陌生人的访问,将访问某些函数的权限锁定在 owner 上。允许将合约所有权转让给他人。此外,OpenZeppelin这个智能合约库主打安保和社区审查(以便需要的时候好找...原创 2020-07-11 15:51:09 · 1350 阅读 · 0 评论 -
Solidity学习之internal与external、接口
https://cryptozombies.io/zh/lesson/2/chapter/9除 public 和 private 属性之外,Solidity 还使用了另外两个描述函数可见性的修饰词:internal(内部) 和 external(外部)。internal 和 private 类似,不过, 如果某个合约继承自其父合约,这个合约即可以访问父合约中定义的“内部”函数。external 与public 类似,只不过这些函数只能在合约之外调用 - 它们不能被合约内的其他函数调用。声明函数 i原创 2020-07-10 20:10:35 · 1927 阅读 · 0 评论 -
Solidity学习之storage与memory、继承(inheritance)
Storage与MemoryStorage 变量是指永久存储在区块链中的变量。Memory 变量则是临时的,当外部函数对某合约调用完成时,内存型变量即被移除。状态变量(在函数之外声明的变量)默认为“存储”形式,并永久写入区块链;而在函数内部声明的变量是“内存”型的,它们在函数调用结束后消失。继承contract animal {}contract cat is animal {}编译和部署了cat之后,它可以访问自己合约里定义的函数以及animal中定义的公共函数。...原创 2020-07-10 19:23:02 · 332 阅读 · 0 评论 -
Solidity学习之msg.sender、require
msg.sender,它指的是当前调用者(或智能合约)的 address在 Solidity 中,功能执行始终需要从外部调用者开始。 一个合约只会在区块链上什么也不做,除非有人调用其中的函数。所以 msg.sender总是存在的。require使得函数在执行过程中,当不满足某些条件时抛出错误,并停止执行。Solidity 并不支持原生的字符串比较, 只能通过比较两字符串的 keccak256 哈希值来进行判断 require(keccak256(_name) == keccak256..原创 2020-07-10 18:33:54 · 5030 阅读 · 0 评论 -
Solidity学习之基础
- Solidity中有结构体Struct、数组、映射mapping1) 结构体Struct和C中定义类似:Struct Person{uint id;string name;}2) 数组静态数组 uint[5] array = [1,2,3,4,5];动态数组 uint[] array;3) 映射mapping (uint => string) IdToName;数据类型:uint(uint8、uint16、…、uint256)、string。。以太坊区块链由 _原创 2020-07-10 16:07:46 · 395 阅读 · 0 评论 -
很好用的智能合约学习网站分享
理论与实践相结合,支持多语言,体验很好: https://cryptozombies.io/zh这应该是我从哪看到的?忘记惹。。。真是不好意思Solidity 官方文档中文版:https://github.com/twq0076262/solidity-zh这里也可查看Solidity官方文档中文版:https://wiki.jikexueyuan.com/project/solidity-zh/...原创 2020-07-10 13:24:39 · 326 阅读 · 0 评论 -
Ubuntu16.04搭建Truffle框架 之我滴感受
终于搞定了总结一下:最好用root用户进行操作,不然一堆乱七八糟的错误令你抓狂和崩溃有时候一个错一直解决不了就先放一下,多去搜搜看别人有没有遇到相同或相似的问题。为了解决最后一个错误,我花了9.9看别人的解决方法,主要还是自己太菜,为知识付费理所应当后面肯定还有好多可预见and不可预见的错误和难题等着我,没办法,硬着头皮冲呗。。还能咋办?要毕业不是心态摆好,踏实前行!...原创 2020-06-28 12:39:53 · 285 阅读 · 0 评论 -
Ubuntu16.04搭建Truffle框架
Truffle是一个世界级的开发环境,测试框架,以太坊的资源管理通道,致力于让以太坊上的开发变得简单,Truffle有以下特点:内置的智能合约编译,链接,部署和二进制文件的管理快速开发下的自动合约测试脚本化的,可扩展的部署与发布框架部署到不管多少的公网或私网的网络环境管理功能使用EthPM&NPM提供的包管理,使用ERC190标准可配的构建流程,支持紧密集成Truffle环境...原创 2019-11-26 18:06:44 · 381 阅读 · 2 评论 -
区块链学习
博客园文章链接https://www.cnblogs.com/secondtonone1/p/8996332.html转载 2019-11-04 09:47:23 · 146 阅读 · 2 评论