- 博客(17)
- 资源 (8)
- 收藏
- 关注
原创 Hardhat以太坊智能合约开发框架基础教程
Hardhat是一个基于javascript和solidity的开发框架。可实现编译、部署、测试、开源和调试以太坊应用的开发环境。Hardhat是一个围绕任务和插件的概念设计的。Hardhat 的大部分功能来自插件。
2022-10-24 19:08:42
4357
3
翻译 Solidity如何优化Gas费用
在区块链中,每一笔智能合约的运行,都要根据复杂度消耗一笔GAS费;如果你要将值写入存储,则需要花费很多。如果你只是使用堆栈,它的成本会低一些;智能合约solidity语言的编写,不仅要考虑安全,也要考虑语言的优化,在以太坊上的交易gas是有上限的,特别是针对一些复杂业务的处理,有可能会导致gas超高,严重者导致此笔交易失败。0、Struct结构 如果一个struct中有多个uint,则尽可能使用较小的uint,solidity会将这些uint打包在一起,从而占用较小的存储空...
2022-03-19 22:37:27
1532
原创 DAPP开发中Web3唤醒MetaMask签名数据+Java校验签名实现去中心化和中心化用户数据的鉴权
使用场景大多数用在DAPP中调用中心化数据或者操作某些中心化功能的时候通过DAPP调用MetaMask钱包对数据进行签名传递给后台,后台验证签名数据是否是否当前用户钱包地址签名的数据实现鉴权。一、DAPP端用Web3签名数据注:不同的web3版本签名代码有点差异1、0.26版本签名web3.personal.sign//参数1:要签名的数据//参数2:签名的钱包地址web3.personal.sign(web3.fromUtf8("Hello Dapp"), "0x4...
2021-09-03 21:28:04
26447
6
原创 Filecoin钱包地址私钥离线生成
一、地址及私钥生成步骤1、随机生成256位私钥2、利用椭圆曲线加密算法生成公钥3、将公钥前加入0x04值后,进行20位的blake2b计算4、将得到的blake2哈希值前添加0x01后,继续用blake2b算法计算4位校验和。5、将20位公钥哈希值和4位校验和连接起来,并用遵照RFC4648标准的Base32编码格式进行编码。6、将编码后的字符串根据地址属性,属于测试网(t),还是正式网(f),是钱包地址(1)还是合约地址(2)加上相应的前缀。得到最终地址二、blake2b算法详
2021-07-06 21:34:30
3515
8
原创 跨链桥ETH+BSC+HECO资产跨链
区块链属于分布式账本技术的一种,每一条链都相当于一个独立的账本,通常情况下不同链资产之间是无法实现价值转移的随着当下区块链技术行业的多链生态模式,很多不同链上资产,也有很多个Dapp。不同的Dapp建立在不同的公链上,彼此无法顺畅交互,链上资产也不能快捷地实现迁移与价值交换。目前主流的跨链技术包括:1、公证人机制(Notary schemes)2、侧链/中继(Sidechains/relays)3、哈希锁定(Hash-locking)4、分布式私钥控制(Distributed p
2021-07-02 21:10:42
2945
4
原创 WebSocket服务端数据推送及心跳机制(Spring Boot + VUE)
一、WebSocket简介 HTML5规范在传统的web交互基础上为我们带来了众多的新特性,随着web技术被广泛用于web APP的开发,这些新特性得以推广和使用,而websocket作为一种新的web通信技术具有巨大意义。WebSocket是HTML5新增的协议,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器。支持双向通信...
2019-08-31 17:38:17
11413
4
原创 Spring Boot 整合 freemarker 和 thymeleaf 模板引擎 (第四章)
一、简单介绍freemarker 和 thymeleaf SpringBoot推荐的模板引擎有两种:freemarker和thymeleaf。freemaker性能比thymeleaf好,模板必须符合xml规范。 thymeleaf由于使用了标签属性做为语法,模版页面直接用浏览器渲染,使得前端和后端可以并行开发。freemarket使用</>这样的语法,就无法直接使浏览器...
2019-04-10 18:23:09
874
原创 Spring Boot +mysql+mybatis搭建 微服务入门篇(第三章)
1、在pom.xml中增加mybatis、mysql相关依赖。 <!-- mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId...
2019-02-22 14:49:59
1284
原创 Spring Boot 微服务入门篇(第二章配置文件详解)
注:这章内容我们接着前一章(https://blog.youkuaiyun.com/qq_16137795/article/details/87866922)的内容继续讲解。这章内容我们一起来学习下Spring Boot的配置文件。一、spring boot配置文件详解 在 spring boot 中,有两种配置文件, 在创建项目后给我们生成的配置文件是: application.prop...
2019-02-21 20:46:16
579
原创 Spring Boot 微服务入门篇(第一章框架介绍在IDEA中搭建项目)
一、介绍: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是在于实现自动配置,降低项目搭建的复杂度简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导...
2019-02-21 19:53:10
1912
原创 web3.js签名广播交易到以太坊网络以及web3版本1.0和0.20的区别
一、web3.js介绍 web3.js是以太坊官方的Javascript API,可以帮助智能合约开发者使用HTTP或者IPC与本地的或者远程的以太坊节点交互。实际上就是web3.js是一个库集合,允许您使用HTTP或IPC连接与本地或远程以太它节点进行交互。为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3。对象。底层实现上,它通过RP...
2018-10-28 17:46:18
3882
原创 使用ethers.js创建以太坊HD钱包(生成BIP-039 + BIP-044钱包),在根据私钥、助记词找回钱包!
一、什么是ethers.jsethers.js库旨在成为一个完整而紧凑的库,用于与以太坊区块链及其生态系统进行交互。它最初设计用于ethers.io,后来扩展为更通用的库。官方链接:https://docs.ethers.io/ethers.js/html/getting-started.html二、在Node.js中安装(npm安装) npm install -save ethe...
2018-10-28 15:20:43
10739
3
原创 使用web3+solc编译发布以太坊智能合约
一、环境安装:1、安装web3工程:npm install web32、安装solc工程:npm install solc二、在node环境中使用先引用所需环境:var fs = require ('fs');var solc = require ('solc');var solc = require ('web3');//注:eth_token.sol 是在nod...
2018-10-09 20:51:47
1764
2
原创 使用Remix编辑器发布以太坊ERC20高级代币合约
Remix在线编辑器链接:https://ethereum.github.io/browser-solidity1、打开编辑器后。把合约代码复制到编辑器中(这里用我的上一个博客的ERC20高级代币源码)Start to compile编译合约代码、如果没有报错就可以了。2、切换到Run标签。选择网络环境:Injected Web3 注:这里需要安装以太坊谷歌插件metamask...
2018-10-09 15:26:25
7429
8
翻译 创建自己的ERC20加密货币(可管理、增发、兑换、冻结等高级功能的代币)
以太坊官方原文ERC20代币标准源码:https://ethereum.org/token(注:本文是在原文的基础上,根据个人的理解,修改部分内容并添加了一些注释)pragma solidity ^0.4.16;interface tokenRecipient { function receiveApproval(address _from, uint256 _value, addr...
2018-10-09 14:29:48
8796
8
原创 Solidity 银行积分合约实现
pragma solidity ^0.4.0;contract Score{ address owner;//合约的拥有者银行 uint issuedScoreAmount;//银行已经发行的积分总数 uint settledScoreAmount;//银行已经清算的积分总数 struct Customer{ address customerAd...
2018-09-17 16:37:49
1193
1
翻译 公有链、联盟链、私有链区别
1、公有链:公有链是世界上任何人都可以访问读取的、任何人都可以发送交易并且如果交易有效的话可以将之包括到区块中的、以及任何人都能够参与与其共识过程的区块。优点:所有交易数据公开、透明,无法篡改。缺点:低吞吐量(TPS),交易速度慢。2、联盟链:(代表:超级账本(Hyperledger))联盟链即其共识过程受到一些预选节点控制的区块链。多个有不同实体分别控制的节点组成一个联盟链。...
2018-09-17 15:51:43
3694
elasticsearch-7.3.2-windows-x84_64.7z
2020-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人