【Solidity】Remix在线环境及钱包申请

好久没有学习区块链方面的知识了,目前通过自学大致掌握了Fabric联盟链的搭建,链码编写、部署,api调用,可以独立开发出一些基于fabric的应用,感觉开发出去中心化的应用还是很有意思的,因为他与之前开发的ssm项目这种传统中心化的app相比具有自己独特的优点。第一次开发出来很有成就感,并且还申请了自己的软著。
在这里插入图片描述

但是最近看论文,感觉有很多的实验都是用公链做的,基本上都是Ethereum,使用的是Solidity语言来编写的智能合约,所以自己就学习了一下。希望通过笔记给自己带来更深刻的学习印象。

1. 什么是Ethereum?

Ethereum是公有链的一种,中文称之为以太坊。和区块链类似,他也有自己的代币,叫作以太币。Ethereum使用的共识合约是PoS。
在这里插入图片描述
感兴趣的朋友可以去看我前面的博文 区块链博文
以太坊是区块链2.0时代的代表性产物,其推出了图灵完备的智能合约,这一创新为区块链和分布式应用带来了革命性的变化。我们可以通过创建自己的智能合约并且在缴纳一定的gas(可以理解成让矿工帮助执行合约的小费)后,就能够在分布式的区块链上运行自己合约并且执行相应的功能。它们可以用于各种领域,如去中心化金融(DeFi)、数字身份、供应链管理、社交媒体和游戏。

而现实世界就是通过智能合约来和区块链上的世界创建联系。好比区块链是一个很大的分布式数据库,而写合约就像是写sql一样面对区块链上的数据进行了各种操作。可见智能合约的编写是运用区块链技术的核心技术。而以太坊使用最广泛的编程语言来实现智能合约的就是Solidity。Solidity 是一种面向合同的智能合同编程语言,特别设计用于创建以太坊和以太坊兼容区块链上的智能合同。

2. Solidity开发Remix环境初识

开发Solidity我选择的是在线开发工具Remix,比较方便而且现在大家的网络都是比较好的,使用这个在线的开发工具感觉还是挺不错的。余运行环境可以采取metamask这个网页钱包,后面会介绍。
http://remix.ethereum.org/ 这个就是Remix的在线开发地址:
在这里插入图片描述在左侧的导航栏我们可以先来看一下官方提供的合约:
在这里插入图片描述想必大家一眼看上去很熟悉吧,没错,Solidity也是一门面向对象的语言,有着编程基础的上手起来也是不难的。现在来写一个简单的hello合约,先在导航栏右健contract,然后新建一个合约(如下左图)
图1图2

// SPDX-License-Identifier: GPL-3.0//pragma solidity >=0.8.2 <0.9.0;
pragma solidity^0.8.11; // 代表向上兼容contract hello {string hellomsg;//just like constructor in javaconstructor(string memory _hellomsg){hellomsg = _hellomsg;}
}

在编写完成后,直接ctrl+s后编译,编译完成后如上右图所示。然后我们点击导航栏第四个以太坊图表的那个按钮就可以部署了:
在这里插入图片描述并且我们可以部署多次每一次运行出来的合约对象都是不一样的。每运行一次就会产生一个合约对象并且每个合约对象都有一个地址,比如我这里运行了两次,第一次的地址0xd9145CCE52D386f254917e481eB44e9943F39138,而第二次的地址:0xd8b934580fcE35a11B58C6D73aDeE468a2833fa8
在这里插入图片描述
再来介绍一下一些其他功能,“ENVIRONMENT” 代表你要选择的以太坊区块链环境或模拟环境,用于测试和运行你的智能合约。
在这里插入图片描述

Remix VM” 代表 Remix 的本地虚拟机环境,用于模拟以太坊网络以进行智能合同开发和测试。这是 Remix 提供的一个内置的虚拟以太坊网络环境,允许开发者在本地进行智能合同的测试,而不需要连接到实际的以太坊网络。当然我们也是可以连接到实际的以太坊网络中来部署我们的合约的,我的截图中的MataMask就是实际的以太坊网络。
在这里插入图片描述

3. metamask安装

安装地址:https://metamask.io/ 注意科学上网
在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述
请注意一定要保管好自己的助记词,这相当于你的密钥。
在这里插入图片描述
现在拥有了自己的钱包之后,需要去网站来申请到一些免费的代币。
在与以太坊(Ethereum)和其他区块链网络交互的钱包或应用程序中,“水龙头”(Faucet)是一个常见的术语,指的是一个允许用户获取免费加密货币的服务或工具。这通常是为了帮助新用户获得一些加密货币,以便他们可以开始在区块链网络上执行交易或与智能合同互动。
MetaMask 是一款以太坊钱包扩展,它允许用户管理以太坊资产、进行交易和与智能合同互动。一些以太坊网络提供了水龙头服务,这意味着用户可以通过水龙头获取一定数量的免费以太币(ETH)用于测试和学习以太坊网络。这些免费以太币通常用于支付交易费用(Gas)以及与智能合同互动。
用户通常需要提供自己的以太坊地址(Ethereum address),然后水龙头会将一定数量的ETH发送到该地址。请注意,这些水龙头通常用于测试和学习,分发的ETH数量可能有限,并且可能在一定时间后停止分发。如果您是新手或想要尝试以太坊网络的功能,可以尝试寻找适用于您的以太坊网络的水龙头服务。

在这个网站目前可以申请到免费的代币 mumbaifaucet.com
在这里插入图片描述
将你的以太坊地址输入点击Send Me MATIC即可。如果交易没有直接成功的话,就打开安装的metamask,应该会看到允许链接之类的操作,点击即可。获取到matic后,需要将网络连接到到这个mumbai的网络,在这个网络上才可以使用它的代币。通过 chainlist.org 这个网站,
在这里插入图片描述此时点开matamask允许连接到mumbai,就会看到我们的网络中多一个mumbai
在这里插入图片描述

然后我们可以使用Mumbai网络连接到真实的网络来部署合约了,只需要将网络切换到MetaMask即可。
在这里插入图片描述
在部署合约后,钱包会通知你是否同意花费gas去部署,点击确认后就会部署到实际的网络中
在这里插入图片描述
在之前的 mumbaifaucet.com 网站点击交易可以看到具体地马蹄走向:
在这里插入图片描述这次的介绍到这里就结束了,下期再学习一下基本的语法,还是通过具体的实例合约来学习语法比较快,毕竟也是面向对象的语法,学起来还是有点基础的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/183286.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql主从架构

mysql主从架构是一套非常基础的高可用架构&#xff0c;主要依赖复制技术来实现。 1.复制原理 mysql复制功能主要使用三个线程实现&#xff1a; 1.Binary log dump thread&#xff08;二进制日志转储线程&#xff09;:当副本连接时发送二进制日志 2.Replication I/O receiver …

Docker与微服务实战——基础篇

Docker与微服务实战——基础篇 第一章 Docker 简介1.1 docker 理念1.2 容器与虚拟机比较 第二章 Docker 安装2.1 前提说明2.2 Docker的基本组成2.2.1 镜像&#xff08;image&#xff09;2.2.2 容器&#xff08;container&#xff09;2.2.3 仓库&#xff08;repository&#xff…

如何使用Node.js快速创建HTTP服务器并实现公网访问本地Server

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

Spark 基础知识点

Spark 基础 本文来自 B站 黑马程序员 - Spark教程 &#xff1a;原地址 什么是Spark 什么是Spark 1.1 定义&#xff1a;Apache Spark是用于大规模数据&#xff08;large-scala data&#xff09;处理的统一&#xff08;unified&#xff09;分析引擎 Spark最早源于一篇论文 Re…

51单片机-串口通信

文章目录 前言1.基础介绍2.串口实战3.4. 前言 1.基础介绍 常见1&#xff0c;2&#xff0c;3,电源 常用方式1 fosc外部晶振 2.串口实战 3. 4.

AI:57-基于机器学习的番茄叶部病害图像识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

CSS默认宽度

所谓的默认宽度&#xff0c;就是不设置width属性时&#xff0c;元素所呈现出来的宽度 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title></title><style>* {margin: 0;padding: 0;}.box {/…

大厂面试题-innoDB如何解决幻读

从三个方面来回答&#xff1a; 1、Mysql的事务隔离级别 Mysql有四种事务隔离级别&#xff0c;这四种隔离级别代表当存在多个事务并发冲突时&#xff0c;可能出现的脏读、不可重复读、幻读的问题。 其中InnoDB在RR的隔离级别下&#xff0c;解决了幻读的问题。 2、什么是幻读&…

重磅!OpenAI发布GPT-4 Turbo,史上最强ChatGPT来了!

11月7日凌晨&#xff0c;OpenAI在美国旧金山举办首届开发者大会&#xff0c;与来自全球的开发者、企业、合作伙伴分享了最新产品。 微软首席执行官Satya Nadella作为特邀嘉宾出席了此次盛会。 会上&#xff0c;OpenAI发布了128K 上下文的GPT-4 Turbo、自定义GPT、DALLE 3 API…

jenkins展示html报告样式需要注意的要点

一、jenkins展示html报告样式需要注意的要点 最后&#xff1a;

【K-means聚类算法】实现鸢尾花聚类

文章目录 前言一、数据集介绍二、使用步骤1.导包1.2加载数据集1.3绘制二维数据分布图1.4实例化K-means类&#xff0c;并且定义训练函数1.5训练1.6可视化展示2.聚类算法2.1.可视化生成3其他聚类算法进行鸢尾花分类 前言 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器…

老电脑升级内存、固态硬盘、重新装机过程记录

基础环境&#xff1a; 电脑型号&#xff1a;联想XiaoXin700-15ISK系统版本&#xff1a;Windows10 家庭中文版 版本22H2内存&#xff1a;硬盘&#xff1a; 升级想法&#xff1a; 内存升级&#xff0c;固态硬盘升级&#xff0c;系统重装&#xff08;干净一点&#xff09; 升级内存…

机器学习笔记:RNN值Teacher Forcing

1 基本介绍 Teacher forcing是一种在训练循环神经网络&#xff08;RNN&#xff09;时使用的技术&#xff0c;尤其是在序列生成任务中&#xff0c;如机器翻译、文本生成或语音合成。这种方法的目的是更有效地训练网络预测下一个输出&#xff0c;给定一系列先前的观察结果。 1.…

11.4-GPT4AllTools版本已开始对小部分GPT3.5用户内测推送

OpenAI已经开始小规模推送GPT4 AllTools功能&#xff0c;部分GPT博主已经第一时间体验了此功能&#xff0c;此功能特色是整合目前的多模态功能以及文件上传和联网模块&#xff0c;无需切换&#xff0c;更要全面综合 可上传包括 PDF、数据文件在内的任意文档&#xff0c;并进行分…

YOLOv8优化:block系列篇 | Neck系列篇 |可重参化EfficientRepBiPAN优化Neck

🚀🚀🚀本文改进: 可重参化EfficientRepBiPAN优化Neck 如何在YOLOv8下使用:1)结合neck; 🚀🚀🚀EfficientRepBiPAN在各个领域都有ying 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1.原理…

AI:63-基于Xception模型的服装分类

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

猫头虎分享从Python到JavaScript传参数:多面手的数据传递术

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

qt报错permission denied

写fk项目的时候&#xff0c;报这个错&#xff0c;然后网上查&#xff0c;说的是因为之前运行的qt进程没有关闭&#xff0c;然后我在任务管理器上查看&#xff0c;却没有看见有我正在运行的qt程序&#xff0c;我再出现清除 qmake也不可以&#xff0c;然后我再去删除out目录下的所…

【Linux】vim

文章目录 一、vim是什么&#xff1f;二 、命令模式三、插入模式四、底行模式五、vim配置 一、vim是什么&#xff1f; Vim是一个强大的文本编辑器&#xff0c;它是Vi的增强版&#xff0c;支持多种语法高亮、插件扩展、多模式操作等功能。Vim有三种基本的工作模式&#xff1a;命…

apachesolr启动带调试

这里solr.cmd报错&#xff0c;报错原因是java版本问题&#xff0c;后面发现这是因为多个java版本导致读取java_home失败&#xff0c; 那么我们修改solr.cmd中的JAVA_HOME为SOLR_JAVA_HOME IF DEFINED SOLR_JAVA_HOME set "JAVA_HOME%SOLR_JAVA_HOME%"环境变量将SOLR…