| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 【以太坊篇】-完成一个简易的智能合约部署 -> 正文阅读 |
|
[区块链]【以太坊篇】-完成一个简易的智能合约部署 |
首先1号是尝试过很多方法,最后吐血总结的。部署本地以太坊平台,最后以钱包安装问题告终,将remix换成本地登录,最后以geth安装告终。(题外:成功过一次后来就用不了了)最后选择用在线remix结合metamask来部署连接。 这个相比之下容易多了,需要两个工具:在线remix和metamask安装。
metamask其实与本地部署的Ethereum wallet钱包一样的功能,但前者是在对应浏览器上的插件(若谷歌不行可以换edge)。 ? ? ? 代币合约的范例很多,Ethereum?官网有提供一个最小可执行的代币合约(MINIMUM VIABLE TOKEN):
这个 MyToken 合约真的很简单,只能做两件事:
至于一个完整的代币合约,可参考ERC20 Token使用手冊。 如上图,创建一个MyToken.sol的合约文件,成功后左边编译处会显示绿色,同时应注意,pragma的版本号一定要低于COMPILER。 1. 点右上角 +?新增一个合约 名称任意只要扩展名是 “.sol”。 2. 复制合约內容到该合约并编译 Remix 默认设置会自动编译,只要旁边没有蹦出红色的 error 提示就代表编译成功。 (可以) 在本地部署合约1. 设置网络 点选左上的?run。 Environment?选择?JavaScript VM 代表所有资料都是存在本地(功能类似 testrpc)。它会提供 5 个虚拟账户每个有 100 ETH,随便选择一个账户(要记住后面一直要用)。 2. 发送交易部署合约 选择?MyToken。可以看到?create 按钮。且已根据合约內容显示必须输入? 合约部署成功后,可以看到合约的使用界面。Remix 会自动根据合约的內容,产生对应的合约使用界面。可以看到合约有两个功能:balanceOf(查询余额)?和?transfer(转移代币)。 可以看到 log(记录每一次的操作)。实际上部署合约是通过一个 Ethereum 交易完成,点?Details 可以看到这笔交易详细资料。 执行合约?—?查询余额1. 选择刚刚发起合约的账户 可以点右边的按钮复制 2. 输入账户 注意要用 “” 把账户括起來,示例: "0xca35b7d915458ef540ade6068dfe2f44e8fa733c" 3. 点击 balanceOf 可以看到执行结果,也就是目前这个账户的代币余额。 第二个用户代币为0. di 执行合约?—?转移代币1. 选择要输出的账户 选择刚刚发起的合约的账户。 ?2. 输入要转入的账户 选择並复制另一个账户。在合约界面?transfer 后面的输入位置,输入转入账户和要转移的代币数量。账户同样需要用 “” 括起來,示例: "0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db",?10 3. 点击 transfer 点击 transfer,成功后会看到 log 更新。 4. 确认余额更新 这时在查询转入账户的余额,就可以看到代币余额增加啦! 错误情況 如果选择要转出的账户代币余额不足,这个交易就会失败,会在 log 看到错误提示。 在测试网络部署合约1. 安裝?MetaMask 首先,要连到测试网络,这就要安裝?MetaMask。它是浏览器端的 Ethereum 钱包,可以连結 Ethereum 公共和测试网络。安装后需要建立 Ethereum 账号。 到chrome网上应用商店去下载metamask: 然后查找metamask,进行安装即可 因为我这已经安装好了,所以按钮处是评分,否则应该是安装按钮 安装好后查看chrome://extensions: 然后点击详细信息就可以查看到其的UUID: 然后点击右上见的🦊图标就进入metamask了: ?然后点击continue进入: 因为之前我已经在Firefox上安装过了,所以这里直接使用seed phrase来加入钱包,如果你之前没有使用过,则看本博客metamask的使用 然后就能够使用你之前钱包中的账户了。 我们选择 Ropsten Test?Net 2. 选择测试网络 回到 Remix,这次 Environment 选择?Injected Web3,Remix 会自动连接 MetaMask。 成功连接后会看到和 MetaMask 相同账号和 Ether 余额 3. 部署合约 接着用同样的方式,按?create 部署合约,就会看到 MetaMask 的弹出窗口。直接按?submit 发送交易。 稍等片刻(需要等交易被确认),部署成功后合约的使用界面就会出来。 ok,现在可以用同样的方式使用合约啦!(好勒我余额不足) 部署平台尝试更多的合约并开发是我后续要去做的事情。同样的除了区块链其余的关于能源方面的知识其实也没有更新过,后续会出几期关于需求响应虚拟电厂总结的一些模型,或者是一些新的政策新闻。 这个号也不是纯粹说区块链,回归本质,说的是能源区块链。 好勒如果后续有问题可以随时猛戳1号。 下期再见,我会努力一个星期一期的。枯 参考:https://www.cnblogs.com/wanghui-garcia/p/9897751.html https://www.cnblogs.com/helloworld2018/p/8888197.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/27 11:15:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |