摘要:一、连接插件钱包 根据EIP-1193标准协议,往window注入ethereum、okxwallet、BinanceChain等。 构造provider: provider = new ethers.providers.Web3Provider(window.ethereum): provider
阅读全文
摘要:Uniswap是一个开源的去中心化的交易所,在github上面有以下重要仓库: uniswap-v2-core: 币对池pair的核心智能合约。这个repository包含了Uniswap的币对池pair的所有核心逻辑,增加流动性、减少流动性等。 uniswap-v2-periphery:这个rep
阅读全文
摘要:一、开发 1、类型 // 基础类型 bool、 unit8、 uint256、 stringmapping: address: 其他合约地址 // 高级类型 interface: 表示外部合约的函数签名,用于调用其他合约的函数。 示例,InterfaceName(address).method()s
阅读全文
摘要:一、交易 下图是MyEtherWallet里面的钱包应用和账户(一组公私钥)的关系图 签名方法(WalletInterface/signTransaction): 带私钥的钱包应用的签名方法 import { Transaction } from '@ethereumjs/tx'; let tx =
阅读全文
摘要:一、创建钱包 创建钱包有多种交互形式: 助记词、强密码。 他们的好处都是既通过多重加密保护了密钥的安全,又降低记忆密码的难度。 强密码: 会把用户输入强密码转成keystore文件。 这步可以使用@wallet/client包实现。 助记词: 会把自动生成的密钥转换成12个单词。 二、访问钱包 连接
阅读全文
摘要:合约主要有3种代理模式: 一、透明代理Transparent contract TransparentAdminUpgradeableProxy { address implementation; address admin; fallback() external payable { requir
阅读全文
摘要:一、设计阶段 要根据业务,区分出角色、活动阶段。 明确各种角色在各种活动阶段, 有什么样的执行权限 活动的特点,容易在什么阶段、受到什么样的攻击 兜底策略应该有哪些 二、开发阶段 注重实施访问权限控制,按照最小特权原则 尽量使用现有、社区审核的库 多使用modifier修饰符 防范类型溢出,比如Nu
阅读全文