常见docker操作
1.配置文件设置docker源和修改默认子网掩码 { "registry-mirrors":...
以太坊开发资源整合
钱包 Metamask - 具有ERC 代币支持的Chrome插件Ether钱包 Gnosis multisig wallet - 经审核的多签名钱包 Exodus - 桌面钱包整合 Nifty Wallet - 以太坊浏览器扩展专注于现实应用程序的可用性网络钱包 MyEtherWallet -用于轻松,安全地与区块链进行交互的开源工具 MyCrypto - 用于生成以太币钱包,处理ERC-20代币以及更轻松地与区块链进行交互工具 Arkane - 基于Web的钱包专注于用户友好UX和DAPP整合。(适用于移动设备) Torus - 开源客户端钱包重点放在UX Portis -基于Web的钱包的植入,方便用户对你的DAPP Eth lightwallet - 适用于Node和浏览器的轻量级JS钱包 SpankCard - 浏览器内以太坊钱包,支持支付渠道 Mnemonic generator - 生成单词助记符和相关的公用/专用密钥对。选择“以太坊”作为硬币以生成以太坊地址。对于truffle-hd-wallet钱包很有用。手机钱包 Coinbase Wallet -...
带你走进神秘的工厂合约|工厂合约解密|使用合约部署合约
工厂合约,顾名思义就是创建合约的工厂。 语法详解可以根据new关键字来创建合约new Contract() 示例// SPDX-License-Identifier: MIT pragma solidity ^0.8.2; contract DemoContract { string public name; constructor(string memory _name) { name = _name; } } contract Test{ DemoContract[] public ads; function create(string calldata _name) external{ DemoContract dc = new DemoContract(_name); ads.push(dc); ...
将UniswapV2部署到所有区块链--去中心化交易所Uniswap多链部署
准备工作工厂合约工厂合约链接 在主合约添加 bytes32 public constant INIT_CODE_PAIR_HASH = keccak256(abi.encodePacked(type(UniswapV2Pair).creationCode)); 编译EVM版本选择istanbul,优化次数999999。构造参数为管理员地址。 路由合约路由合约链接 全局搜索hex,根据工厂合约查询到的INIT_CODE_PAIR_HASH的值,替换到路由合约中。构造参数为工厂合约地址和WETH地址。 WETH合约合约链接地址 Multicall合约合约链接地址 前端工作uniswap-sdk 建议使用2020.8.6版本的 git clone https://github.com/Uniswap/v2-sdk.git 修改工厂合约地址和Init Code 修改WETH地址 新增链ID 修改package.json打包上传npm npm login npm...
一些简单的 Gas 优化基础
编写智能合约是很难的。不仅是要确保代码没有漏洞,而且你的编写方式还会影响到用户与它交互时的开销。 当你在编译智能合约时,每一行 Solidity 代码都会转换为一系列的操作(操作码),这些操作都有对应的 gas 消耗。你的目标就是要让你的程序使用尽可能少的操作码(或者用更便宜的)。 当然,这些都很复杂,所以,我们要慢慢来。与其陷入操作码兔子洞,不如尝试一些可以直接应用到合约里的简单优化。 升级 Solidity 版本合约中,Solidity 版本是在文件最顶部定义的,像这样: pragma solidity ^0.8.0; 在这里,^0.8.0意思是合约使用0.8.x系列最新可用的Solidity版本。 更新的 Solidity 版本有时会在修复bug和安全补丁时就优化了 gas ,所以,升级到最新版本不仅会让你的代码更安全,通常也会更便宜。 要捕获最近大多数优化,请确保你的版本在0.8.4以上: pragma solidity ^0.8.4; 放弃 Counters.sol如果你的 NFT 项目或者代币正在使用 OpenZeppelin 合约,很可能你正在用 OZ...
浅谈NFT的元数据标准
前言为OpenSea等平台提供资产元数据可以为数字资产提供丰富的数据并轻松地在应用程序中显示它们。给定智能合约上的数字资产通常仅由唯一标识符(例如,ERC721 中的 token_id表示,因此元数据允许这些资产具有其他属性,例如名称、描述和图像。 实现令牌URI为了让 OpenSea 为 ERC721 和 ERC1155 资产提取链下元数据,您的合约需要返回一个 URI,我们可以在其中找到元数据。为了找到这个URI,我们使用ERC721中的方法和ERC1155中的方法。首先,让我们仔细看看Creature 合约中的方法。 /** * @dev Returns an URI for a given token ID */ function tokenURI(uint256 _tokenId) public view returns (string) { return Strings.strConcat( baseTokenURI(), Strings.uint2str(_tokenId) ...
通缩分红币Safemoon解读
1、Safemoon原理Safemoon是一种通缩分红币,通缩指的是每次转账都会收取一定手续费,这些手续费会直接销毁,进而导致总量的通缩。分红指的是,用户的余额会随着其他用户转账而增加。 Safemoon的基本原理用一个比喻来说就是,将一块固定蛋糕(_tTotal)分给总量会变化的盘子中(_rTotal),每次转账都会打碎一部分盘子,这样剩余盘子分到的蛋糕就变多了。 2、 数据结构mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private...
详解分红其他代币,添加流动性合约
contract Token is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public uniswapV2Router; address public immutable uniswapV2Pair; bool private swapping; bool public swapEnabled = true; DividendTracker public dividendTracker; //分红对象 address public liquidityWallet; //流动性钱包 address private _marketingWalletAddress; //营销钱包,收手续费的 address public deadWallet =...
代币的防机器人机制
solidity防机器人有两种方式一种是根据判断在几区块,另外一种是根据时间来检测 先用第一种判断时间来检测机器人,照例用以前的代码再新加判断机器人的逻辑 // SPDX-License-Identifier: MIT pragma solidity ^0.6.2; import "./ERC20.sol"; contract Token is ERC20{ string private _name; //币名字 string private _symbol; //币符号 address public deadwallet = 0x0000000000000000000000000000000000000000; //销毁地址 address public LiquityWallet; //铸币钱包 mapping(address...
教你发行BSC链上可分其他代币|含营销钱包|通缩|回流 智能合约
支持分红SHIB ETH USDT DOGE等BSC所有代币。 Remixhttps://remix.ethereum.org/ 编译/开源参数COMPILER: v0.8.4+commit.e28d00a7.js Enable optimization: 开启并使用默认值200 Other Settings: default evmVersion, MIT license 合约核心源码 constructor( string memory name_, string memory symbol_, uint256 totalSupply_, address[2] memory addrs, // reward, marketing wallet uint256[3] memory feeSettings, // rewards, liquidity, marketing uint256 minimumTokenBalanceForDividends_ ) payable...