草庐IT

钻石合约

全部标签

Chainlink——PriceFeeds智能合约源码分析

1ChainlinkPriceFeeds基本使用         PriceFeeds主要用于为Defi(去中心化金融)项目提供链下的资产价格参考,也就是说用户或项目方可以通过Chainlink的PriceFeeds合约获取到链下的资产价格数据。        Chainlink官网给了一个PriceFeeds的使用例子: //SPDX-License-Identifier:MITpragmasolidity^0.8.7;import"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";contractPric

Windows10:NEAR Rust智能合约开发环境搭建

1、windows下载安装rustGettingstarted-RustProgrammingLanguagehttps://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe下载rustup-init.exe,并安装。2、把cargo的bin目录添加到系统path中,默认这个文件夹路径为“C:\Users\用户名\.cargo\bin”在cmd中输入rustc--version和cargo--version,若正常返回版本信息,则安装成功3、安装near-cli工具包:执行“npminstall-gn

以太坊智能合约开发:Solidity 语言中的数据类型

本文我们介绍Solidity语言的数据类型,重点是值类型,包括布尔类型、整型、地址类型、字节类型、字符串类型和枚举类型。并且通过两个智能合约例子,用于演示这些数据类型的声明与使用方法。访问Github仓库获取更多资料。基本概念Solidity中关于数据类型的定义如下:Solidity是一种静态类型语言,这意味着每个变量都需要在编译时指定变量的类型;Solidity中新声明的变量总是有一个默认值,具体的默认值跟类型有关,例如bool类型的默认值为false。数据类型值类型Solidity提供的基本数据类型。这些类型的变量总是通过值传递的,变量在函数参数或赋值语句中使用时都会被复制。有以下几类值类

Solidity极简入门#25. Create2创建合约

CREATE2CREATE2操作码使我们在智能合约部署在以太坊网络之前就能预测合约的地址。Uniswap创建Pair合约用的就是CREATE2而不是CREATE。这一讲,我将介绍CREATE2的用法CREATE如何计算地址智能合约可以由其他合约和普通账户利用CREATE操作码创建。在这两种情况下,新合约的地址都以相同的方式计算:创建者的地址(通常为部署的钱包地址或者合约地址)和nonce(该地址发送交易的总数,对于合约账户是创建的合约总数,每创建一个合约nonce+1))的哈希。新地址=hash(创建者地址,nonce)创建者地址不会变,但nonce可能会随时间而改变,因此用CREATE创建的

智能合约Smart Contract技术详解

文章目录合约编写基本介绍构造方法ipfsmint提现白名单合约前端部署验证合约代码前端和合约交互准备工作获取已经mint了的数量mint合约编写建议读者先了解下solidity,这里推荐CryptoZombies,还是比较详细的。ok当你大概知道自己在做什么之后,我们就可以开始编写智能合约了,首先我们需要一个编译器,我是用的webideremix,当然他也有桌面版,使用起来都是一样的,web版本的话记得做备份,如果仅靠浏览器缓存来做备份的话,很容易吃亏找不到代码了等会。基本介绍先看几个关键常量 uintpublicconstantMAX_TOKENS=2000;uintprivateconst

智能合约学习笔记——僵尸工厂(一)

根据CryptoZombies学solidityLesson1搭建僵尸工厂生成僵尸的工厂,首先建立一个批量生成僵尸的合约pragmasolidity^0.4.19;contractZombieFactory{//建立合约僵尸工厂eventNewZombie(uintzombieId,stringname,uintdna);//这里建立事件uintdnaDigits=16;//僵尸的DNA包括头部基因;眼部基因;上衣基因;皮肤基因;眼色基因;衣服颜色基因uintdnaModulus=10**dnaDigits;//用于后续取余运算structZombie{stringname;uintdna;}

Web3 React项目Dapp获取智能合约对象

上文Web3整理React项目导入Web3并获取区块链信息中,我们在react搭建的dapp中简单拿到了我们区块链中的账号授权信息那我们继续先终端运行ganache-d将ganache环境起起来然后我们运行dapp拿到授权列表回到上文结束的一个状态然后我们发布一下自己的智能合约在我们的项目终端执行trufflemigrate--reset这样合约就发布到我们区块链上了下一步就有点麻烦喽这里我们需要通过abi获取当前区块链上指定的智能合约那么这里我们就需要json这里我们也不说更多的先导入grToken合约的json然后将这个token先打印一下看看然后我们运行项目打开浏览器的控制台很明显abi

Solidity 合约漏洞,价值 38BNB 漏洞分析

Solidity合约漏洞,价值38BNB漏洞分析1.漏洞简介https://twitter.com/NumenAlert/status/1626447469361102850https://twitter.com/bbbb/status/16263926052643512352.相关地址或交易攻击交易:https://bscscan.com/tx/0x146586f05a4513136deab3557ad15df8f77ffbcdbd0dd0724bc66dbeab98a962攻击账号:0x187473cf30e2186f8fb0feda1fd21bad9aa177ca攻击合约:0xd1b54

智能合约介绍

莫道儒冠误此生,从来诗书不负人目录一、什么是区块链智能合约?二、智能合约的发展背景三、智能合约的优势四、智能合约的劣势五、一些关于智能合约的应用总结一、什么是区块链智能合约?智能合约,是一段写在区块链上的代码,一旦某个事件触发合约中的条款,代码即自动执行。也就是说,满足条件就执行,不需要人为操控。简单来说,智能合约就是一种把我们生活中的合约数字化,当满足一定条件后,可以由程序自动执行的技术。我们的生活中处处充满着合约,就好比你跟我做了一个约定,我们订好了奖惩措施,但由于种种原因可能没法履行其中的条款,出现了无法履约的情况,而在进入赔付环节,往往会出现毁约,失约,耍赖的情况,最后弄得有理说不清。

使用Hardhat测试智能合约

Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。它可以帮助开发人员管理和自动化构建智能合约和dApps过程中固有的重复性任务,并围绕这一工作流程轻松引入更多功能。这意味着hardhat在最核心的地方是编译、运行和测试智能合约。Hardhat内置了Hardhat网络,这是一个专为开发设计的本地以太坊网络。主要功能有Solidity调试,跟踪调用堆栈、console.log()和交易失败时的明确错误信息提示等。在Hardhat中编写智能合约测试是使用JavaScript或TypeScript完成的。使用Waffle的测试是用Mocha和Chai一起编写的。Mocha是流行的Java