草庐IT

使用hardhat 部署 solidity智能合约到测试网

概述在刚开始学solidity智能合约的时候,我们大多数都是通过Remix在线编辑器完成合约编辑部署和测试等流程的工作。毫无疑问,remix在调试的时候是十分的方便的。但是随着编写的合约越来越多,仅仅通过remix来部署就会有些吃力了,各种的参数传递,合约之间的部署的先后关系,以及合约文件的管理,都需要能够工程化的处理这些流程。目前以及有一些比较成熟的开发,调试,部署等全流程的框架了,其中用的比较多是truffle和hardhat。hardhat相对truffle更新功能也更完善,使用起来也很方便。下面就记录了我自己使用hardhat的流程以及遇到的一些问题。项目初始化mkdirnewFlod

使用MetaMask + Ganache搭建本地私有网络并实现合约部署与互动

我使用Remix编写合约,MetaMask钱包工具和Ganache搭建了一个私有网络,并且实现了合约的部署和互动。在前面的博客中提到了Remix在线环境及钱包申请以及Solidity的基本语法,没看过的小伙伴可以点击链接查看一下,都是在本专栏下,觉得有用的伙伴记得点个关注哦。目录1.工具介绍及下载地址2.编写合约3.创建Ganache网络4.钱包添加Ganache测试网络5.部署合约6.合约互动1.工具介绍及下载地址remix:Remix是一个基于Web的以太坊合约开发和调试工具。它允许开发人员在浏览器中编写、编译、调试和部署以太坊智能合约。地址:http://remix.ethereum.o

手把手教你部署一个starnet上的 ERC20合约

文章目录手把手教你部署一个starnet上的ERC20合约一、【重要】基础:starknet合约学习二、关于ERC20【过时,不推荐】代码【推荐】code三、Starknet改进提案-SNIPs四、OpenZeppelinOpenZeppelin/cairo-contractsOpenZeppelin/cairo-contractserc20合约代码分析使用OpenZeppelin库写erc20合约Usingthelibrary

[区块链安全-Damn_Vulnerable_DeFi]区块链DeFi智能合约安全实战(V3.0.0)(已完结)

区块链安全-Damn_Vulnerable_DeFi前言1.Unstoppable2.Naivereceiver3.Truster4.SideEntrance5.TheRewarder6.Selfie7.Compromised8.Puppet9.Puppet-V210.FreeRider11.Backdoor12.Climber13.Wallet-mining14.Puppet-V315ABI-Smuggling总结前言很抱歉,很久没有更新了。这段时间,经历了孩子出生、出国执行项目等诸多事情,心里也比较乱,也没有思绪去完成挑战。最近总算闲下来了,不过打开一看,发现[Damn-Vulnerabl

区块链2——Solidity智能合约开发

区块链索引目录一、智能合约基础1、合约的结构和语法智能合约是一种以代码形式编写的自动执行合约,它们运行在区块链上。这些合约定义了在特定条件下发生的事件以及相应的行为。1.1智能合约结构版本声明(VersionDeclaration):智能合约通常以声明版本开始,指定合约应该使用的Solidity编译器版本。例如:pragmasolidity^0.8.0;合约声明(ContractDeclaration):合约声明定义了合约的名称和主体内容。合约是智能合约的基本单位。contractMyContract{//合约内容}状态变量(StateVariables):定义了合约状态的变量,这些变量的值会

Solidity智能合约基础案例——智能银行实现(2023版)

案例业务:智能银行需要实现的核心功能:存钱功能;取钱功能;转账功能;角色:柜员;储户;如何记录每个用户余额:使用mapping关键字将用户地址与用户余额相关联;具体示例代码如下://SPDX-License-Identifier:GPL-3.0pragmasolidity^0.8.7;/*1.3大核心功能;2.bankname;3.账本检测;*/contractbank_demo{stringpublicbankName;//银行名字uint256totalAmount;//银行总存款addresspublicadmin;//柜员mapping(address=>uint256)balance

使用nodejs和web3js实现链接metamask钱包并实现合约交互

在以太坊区块链上,metamask钱包是一个非常常用的钱包,用以管理以太币和其他以太坊资产。同时,它也是一个重要的以太坊智能合约交互工具。在本文中,我们将介绍如何使用nodejs和web3js实现链接metamask钱包并实现合约交互。一、安装NodeJS和Web3JS在开始之前,首先需要安装NodeJS和Web3JS。NodeJS是一个开源的JavaScript运行环境,允许开发人员使用JavaScript编写运行在服务器端的应用程序。而Web3JS是以太坊的JavaScriptAPI,它使得应用程序能够与以太坊网络进行交互。二、安装Metamask钱包在链接Metamask钱包之前,需要先

深入理解Solidity,区块链智能合约开发的全面指南!

深入理解Solidity,区块链智能合约开发的全面指南!引言Solidity是区块链技术中最常用的智能合约编程语言之一。本文将为您全面介绍Solidity语言的各个方面,包括语法、数据类型、控制结构、函数、事件、库等内容。通过学习本文,您将对Solidity有一个深入的了解,并能够编写安全可靠的智能合约。1.Solidity简介1.1Solidity的背景与应用领域Solidity是一种面向合约的高级编程语言,专门设计用于在以太坊平台上编写智能合约。它具有静态类型和C-like语法,可用于实现各种功能,如代币合约、去中心化应用(DApp)以及数字资产的交互。1.2Solidity的特点和优势易

基于remix+metamask+ganache的智能合约部署调用

在我们部署合约时为了让它更接近真实区块链去中心化体验,我们需要调用小狐狸(Metamask)来进行真实交易,而metamask里没有内置虚拟测试币,我们需要进行调用Ganache来添加带有虚拟测试币的账号。以上就是三者的关系,下面正式开始我们的合约上链体验。 1.启动Ganache页面选项默认,直接开始。2.Metamask添加ganache账户在设置里找到添加网络在添加账户内导入账户复制账户私钥导入成功在metamask中点击各账户进行连接。连接成功部署Helloworld合约进行测试合约代码//SPDX-License-Identifier:MITpragmasolidity^0.8.0;

以太坊智能合约:从概念到实操指南

一、智能合约概念介绍(SmartContract)智能合约是一组自动执行预定义规则的代码,类似于我们生活中的自动售货机。当用户选择商品并支付后,售货机会自动释放商品,用户不必担心交易的信任问题,因为售货机按照预设的程序操作。类似地,信用卡的自动还款也是一种实现了智能合约逻辑的机制:在设定自动还款之后,到期时系统会自动扣款。智能合约的这一概念,在数字货币和区块链领域得到了更深入的应用和发展。2008年,一个化名为中本聪的人或团队发表了《比特币:一种点对点的电子现金系统》论文,这标志着比特币的诞生。比特币的底层技术框架,即区块链,后来成为了许多技术创新的基础。2013年,受比特币启发,维塔利克·布