| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 来吧,开发你的第一个智能合约 -> 正文阅读 |
|
[区块链]来吧,开发你的第一个智能合约 |
文章目录前言现在区块链的技术很火,你肯定听说过智能合约,那到底什么是智能合约呢? 其实智能合约一点都不智能,它只是开发好的一段程序部署在区块链上,我们可以调用其中的方法而已。 和现在的人工智能一点关系的都没有,那开发一个智能合约难不难呢? 真的不难,不信你随我来,包学包会。 环境准备1.安装Node.js、npmNode.js是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境,我们这里安装Node.js是为了安装npm。 去Nodejs官网下载Node.js 安装包,按提示安装即可。 我们在终端输入node -v,如果可以看到版本号说明安装成功: 安装好了nodejs之后,默认就会安装npm。 npm又是什么呢? npm其实是Node.js的包管理工具(package manager)。 简单的说npm就是帮我们快速下载各种工具的。 我们在者终端输入npm -v,如果可以看到版本号说明安装成功: 2.安装Web3 JS - 开发以太坊客户端的javascript框架在终端输入:npm install web3 即可自动下载安装,web3.js(都是npm的功劳)。 web3.js是干嘛用的呢? 简单的说web3.js的主要功能就是,提供了很多操作智能合约的类库,让我们可以通过JavaScript来调用智能合约。 3.安装Ganache去官网下载Ganache安装,Ganache是一个本地的区块链测试环境,它虚拟了一个简单的区块链,我们可以把智能合约先部署到本地先测试,测试好了之后再发布到正式的链上。 安装好后打开,点击quickstart,就能快速新建一个测试区块链环境。 新建好之后,我们就可以看到本地的区块链环境,其中有网络ID,本地的服务地址和几个测试账号,每个账号里面都有100个ETH。 编码部署1. 编写合约remix是一个在线的智能合约开发环境,我们可以直接在浏览器中使用,非常方便。 打开网页之后,我们可以看到一个编辑页面,在左边的contracts文件夹下,新增一个我们自己的智能合约文件SetName.sol:
2.部署合约点击左边的deploy&run按钮,在ENVIRONMENT 下拉框中选择 Ganache Provider: 在Ganache Provider 弹出框中填上Ganache的本地服务地址。
选择我们的智能合约setName之后,点击Deploy按钮就可以部署合约了。 部署玩之后,我们可以看到Deployed Contracts下面已经生成了我们部署的合约,同时显示了合约中的方法,右下角会显示系统日志。
3.调用合约我们来调用一下合约试试看: 点击getName按钮,即调用了合约中的getName方法,返回了name的初始值zhanyd(还记得上面代码里的构造方法constructor()吗?)。
我们开发智能合约是给大家一起用的,如果能在浏览器中用网页直接调用就好了! DAPPDAPP是什么呢? DAPP是去中心化应用,简单说就是能调用智能合约的应用。 现在我们就来开发一个简单的DAPP。 还记得我们刚开始安装的web3.js吗? 现在就要派上用场了,web3.js就是为了让我们能用JavaScript代码来调用智能合约的。 让我们先来写一个简单的HTML网页吧。 1.编写DAPP
注意,合约地址是在这里:
如果你直接复制了我的代码,一定要记得替换合约地址、合约ABI和账号地址哦。 2.运行DAPP我们直接打开HTML文件,就可以看到从智能合约读取的名字和幸运号码: 我们输入要更改的名字和幸运号码,点击提交按钮:
恭喜,你的第一个智能合约已经开发完成了! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 18:35:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |