江门网站免费制作,网站开发模块分类,网站公司做文员,保山公司做网站好久没有学习区块链方面的知识了#xff0c;目前通过自学大致掌握了Fabric联盟链的搭建#xff0c;链码编写、部署#xff0c;api调用#xff0c;可以独立开发出一些基于fabric的应用#xff0c;感觉开发出去中心化的应用还是很有意思的#xff0c;因为他与之前开发的ssm…好久没有学习区块链方面的知识了目前通过自学大致掌握了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然后新建一个合约如下左图
// 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;}
}在编写完成后直接ctrls后编译编译完成后如上右图所示。然后我们点击导航栏第四个以太坊图表的那个按钮就可以部署了 并且我们可以部署多次每一次运行出来的合约对象都是不一样的。每运行一次就会产生一个合约对象并且每个合约对象都有一个地址比如我这里运行了两次第一次的地址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 网站点击交易可以看到具体地马蹄走向 这次的介绍到这里就结束了下期再学习一下基本的语法还是通过具体的实例合约来学习语法比较快毕竟也是面向对象的语法学起来还是有点基础的。