
区块链
文章平均质量分 59
IT_浩哥
学如逆水行舟,不进则退。心似平原跑马,易放难收!
展开
-
Solidity如何优化Gas费用
在区块链中,每一笔智能合约的运行,都要根据复杂度消耗一笔GAS费;如果你要将值写入存储,则需要花费很多。如果你只是使用堆栈,它的成本会低一些;智能合约solidity语言的编写,不仅要考虑安全,也要考虑语言的优化,在以太坊上的交易gas是有上限的,特别是针对一些复杂业务的处理,有可能会导致gas超高,严重者导致此笔交易失败。0、Struct结构 如果一个struct中有多个uint,则尽可能使用较小的uint,solidity会将这些uint打包在一起,从而占用较小的存储空...翻译 2022-03-19 22:37:27 · 1543 阅读 · 0 评论 -
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 · 3537 阅读 · 8 评论 -
跨链桥ETH+BSC+HECO资产跨链
区块链属于分布式账本技术的一种,每一条链都相当于一个独立的账本,通常情况下不同链资产之间是无法实现价值转移的随着当下区块链技术行业的多链生态模式,很多不同链上资产,也有很多个Dapp。不同的Dapp建立在不同的公链上,彼此无法顺畅交互,链上资产也不能快捷地实现迁移与价值交换。目前主流的跨链技术包括:1、公证人机制(Notary schemes)2、侧链/中继(Sidechains/relays)3、哈希锁定(Hash-locking)4、分布式私钥控制(Distributed p原创 2021-07-02 21:10:42 · 2964 阅读 · 4 评论 -
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 · 3891 阅读 · 0 评论 -
使用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 · 10758 阅读 · 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 · 1771 阅读 · 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 · 7449 阅读 · 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 · 8815 阅读 · 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 · 1198 阅读 · 1 评论 -
公有链、联盟链、私有链区别
1、公有链:公有链是世界上任何人都可以访问读取的、任何人都可以发送交易并且如果交易有效的话可以将之包括到区块中的、以及任何人都能够参与与其共识过程的区块。优点:所有交易数据公开、透明,无法篡改。缺点:低吞吐量(TPS),交易速度慢。2、联盟链:(代表:超级账本(Hyperledger))联盟链即其共识过程受到一些预选节点控制的区块链。多个有不同实体分别控制的节点组成一个联盟链。...翻译 2018-09-17 15:51:43 · 3712 阅读 · 0 评论