草庐IT

钻石合约

全部标签

Hyperledger Fabric 使用 CouchDB 和复杂智能合约开发

前言在上个实验中,我们已经实现了简单智能合约实现及客户端开发,但该实验中智能合约只有基础的增删改查功能,且其中的数据管理功能与传统MySQL比相差甚远。本文将在前面实验的基础上,将HyperledgerFabric的默认数据库支持LevelDB改为CouchDB模式,以实现更复杂的数据检索功能。此外,对上个实验的简单智能合约进一步进行功能上和设计上的扩展,最终实现了智能合约的分包、分页查询、多字段富查询、查询交易历史记录等功能。网络架构本文网络结构直接将HyperledgerFabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务中创建的4-2_Ru

Hyperledger Fabric 使用 CouchDB 和复杂智能合约开发

前言在上个实验中,我们已经实现了简单智能合约实现及客户端开发,但该实验中智能合约只有基础的增删改查功能,且其中的数据管理功能与传统MySQL比相差甚远。本文将在前面实验的基础上,将HyperledgerFabric的默认数据库支持LevelDB改为CouchDB模式,以实现更复杂的数据检索功能。此外,对上个实验的简单智能合约进一步进行功能上和设计上的扩展,最终实现了智能合约的分包、分页查询、多字段富查询、查询交易历史记录等功能。网络架构本文网络结构直接将HyperledgerFabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务中创建的4-2_Ru

Uniswap的pair合约创建事件

1、uniswapV1的合约创建事件a)事件原型eventNewExchange(index_topic_1addresstoken,index_topic_2addressexchange)b)精简化:去掉函数里的参数名称、空格、前缀event、返回值;只保留参数类型,将uint改为uint256NewExchange(address,address)factoryV1=0xc0a47dfe034b400b47bdad5fecda2621de6c4d95eventV1=0x9d42cb017eb05bd8944ab536a8b35bc68085931dd5f43564898014539239

DID与智能合约的那些事

上集我们提到如何透过去中心化身份DID保护敏感的个人身份讯息,今集将会深入DID到底是如何用智能合约的形式运作。01智能合约如以太坊中主流的身份智能合约ERC-725为例。使用者在该区块链上发布身份智能合约后,接着产生数个公私钥对。其中私钥由使用者自行保存于钱包;公钥则上传至身份合约中。由于身份合约的自主性,只有身份拥有者有权上传这些公钥。身份智能合约的一项功能就是储存公钥。02认证使用者的身份合约上会注记了认证机构对该认证内容的签名,等同于该身份通过了认证。 03如何验证“身份拥有者”的“身份”?服务使用者透过挑战回传机制(Challenge&Response)来检验提出“验证请求”的人是该

简介智能合约开发框架-Hardhat

智能合约开发框架-Hardhat​简介Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。Hardhat内置了Hardhat网络,这是一个专为开发设计的本地以太坊网络。主要功能有Solidity调试,跟踪调用堆栈、console.log()和交易失败时的明确错误信息提示等。环境node.jspython安装npminstall--global--productionwindows-build-toolsnpminstall-ghardhat安装中如果出现这样的报错npmERR!gypERR!findVSnpmERR!gypERR!findVSmsvs_versionwassetfr

CCG合约量化:DeFi 中的流动性池是什么以及它们如何工作?

流动资金池在DeFi的形成中发挥着重要作用。它们在自动化做市、借贷、收益农业和许多游戏项目中至关重要。但究竟什么是加密货币中的流动性池?本文解释了流动资金池概念背后的理念,讨论了它们的工作原理,并分享了主要加密项目为何利用资金池。事不宜迟,让我们看看DeFi是如何完善流动性池的概念的。​流动资金池解释​流动性池的定义非常简单——它是一个金库,市场参与者将他们的资产存放在其中,以确保为所有想要交换该资产的人提供庞大的流动性池。在传统的金融体系中,这样的资金池是大银行;他们持有大储户的资金,甚至可以“印”额外的钱。加密货币流动性池是锁定在特殊智能合约账户中的代币库存。主要的去中心化交易所(DEX)

手把手教你区块链java开发智能合约nft(第四篇)-如何动态获取gasPrice和gasLimit?

手把手教你区块链java开发智能合约nft(第三篇)-如何动态获取gasPrice和gasLimit?初学区块链,那真叫一个痛苦并无助。如果没有人带你的话今天写的这篇是在前面文章基础上写的,初学区块链的朋友建议先看我前面写的文章手把手教你区块链java开发智能合约nft-第一篇手把手教你区块链java开发智能合约nft-第二篇(部署第一个NFT智能合约)什么是gas?什么是gasPrice?什么是gasLimit?关于这几个概念,可以点击参考官方的说明开发中怎么给入gasPrice和gasLimit?对于这个问题,刚入门的我就非常吐槽了,在区块链上任何操作EVM的,都会耗用一定的gas,给少了

ERC20的创建及合约之间的调用(合约调用合约)

ERC20TokenERC20是一个token合约标准,具体的概念和友好的合约库,可参考openzeppelin.接下来的代码创建一个erc20token//SPDX-License-Identifier:GPL-3.0pragmasolidity^0.8.0;import"@openzeppelin/contracts/token/ERC20/ERC20.sol";contractIcoTokenisERC20{constructor(uint256initialSupply)ERC20("xoToken","XO"){_mint(msg.sender,initialSupply);}}注:

solidity智能合约语法

Solidity的基本类型布尔(bool):可能的取值为字符常量值true或false整型(int/uint):分别表示有符号和无符号的不同位数的整型变量;支持关键字uint8到uint256(无符号,从8位到256位)以及int8到int256,以8位为步长递增·定长浮点型(fixed/ufixed):表示各种大小的有符号和无符号的定长浮点型;在关键字ufixedMxN和fixedMxN中,M表示该类型占用的位数,N表示可用的小数位数·地址(address):存储一个20字节的值(以太坊地址大小)·定长字节数组:关键字有bytes1,bytes2,bytes3,…,bytes32·枚举(en

尚硅谷以太坊区块链学习之NFT智能合约(6)

尚硅谷以太坊区块链学习之NFT智能合约(6)前言一、NFT智能合约1、智能合约代码2、智能合约推送3、具体调用二、具体使用三、NFT商家智能合约前言提示:服务外包区块链学习5被ban了,也不知道怎么改能过,无所谓了,我以后能看的见就行,不知道这篇能不能过审说明:从这篇博客开始就不用Ubuntu写区块链了,改用Windows,因为需要链接前面写的有关NFT系统的后台,而后台在Windows的主机上,即便用VMware设置了端口映射,主机的MataMask还是链接不上虚拟机上的,所以改用Windows,感觉都差不多,甚至Windows还要简单些。只记录操作尚硅谷以太坊区块链直达链接一、NFT智能合