黄金叶
黄金叶

江西 - 上饶 注册于 2022-06-03

江湖只有他的大名,没有他的介绍。

向TA求助
57学分数
110 贡献值
2个粉丝

最近动态

2022-09-01 19:40 回答问题

将数据库的订单id传给合约..合约执行成功之后. 记录event中...系统脚本通过事件过滤器..获取合约中记录的订单id..并把交易哈希记录到数据库中与指定的订单id数据对应

2022-08-29 11:18 回答问题

reserve与balance不要求相等, reserve你可以理解为仓库管理员记录的库存数量, balance是一个实时的数量, 管理员记录的数量, 不是实时的数量, 比如有人直接往Pair合约里面转入token时, 这个balance是会变大的, 但是reserve还是不变的

这两个值的作用是: 用实时的balance - reserve上次记录的数量 可以得到, 这次进来的token数量, 用来用户兑换或者添加流动性时, 判断新进来的token数量是否符合规则, 如果不符合规则就不成功, 如果符

2022-08-26 09:12 关注了问题

2022-08-24 18:09 回答问题

可以的..目前慢慢的有NFT质押挖矿了..可以参考一些项目..丰富一下

2022-08-15 09:28 回答问题

在代币的transfer接口代码中..判断 to 和 from 地址..如果 to 地址是pair地址就是卖出..如果 from 是pair地址就是买入..不过这个设计可能和流动性的添加和移除会冲突

2022-08-05 16:09 发表了文章

2022-08-05 09:51 回答问题

其实风险不一定是要传coin或者token...有时候会影响你的业务逻辑..以及规则..如果你用deletagecall会影响你的状态变量..如果你用call与一个未知合约交互..可能会因为未知合约的问题..影响你这边的业务一直失败

2022-08-03 17:06 回答问题

用途差不多..目前市面上用ether.js的会多一点

2022-08-03 10:12 回答问题

你的思路是对的..每一笔交易都是队列的方式进行的

你说有没有一种情况, 就是在交易对合约中 有一个 swap() 接口..这个接口的最后一个参数是一个可执行的bytes(用来做闪电贷的)...如果这个bytes calldata 指向的是我自己写的一个合约接口..接口里面又实现了再次进入交易对的swap方法..那么就可以实现重入问题...而且swap()的这个交易接口...是先转币给用户(因为要实现闪电贷)...最后在检查用户是不是转进来的对应的代币.. 所以swap中的lock 在正常交易的场景下

2022-08-02 17:13 回答问题

切换镜像, 使用cnpm试试...祝你成功

2022-08-02 09:24 回答问题

用你的地址, 调用USDT合约中的tranferFrom接口

假设你的地址是A..授权给你的用户是B...USDT的合约地址是U

触发者必须是A地址 U.transferFrom(B, USDT转账的目标地址(可以是A,或者你其他的钱包地址), 转账数量)

2022-08-02 09:16 回答问题

是的..纯代币合约实现不了..如果是添加流动性和卖出不通缩..移除流动性和买入通缩..则可以在代币合约中实现...

修改交易所合约: swap合约中有个Router2相关合约..在代币兑换相关代码_swap()中添加你的通缩逻辑..要考虑到有个0.3%的手续费..你的通缩基数是进来的资金还是扣除手续费之后的资金.

2022-08-01 18:37 回答问题

如果只考虑在代币合约中实现的话..可能有点麻烦..因为 添加流动性卖出 to 地址都是交易对地址. 移除流动性买入 的from 地址都是交易对地址.. 如果是在代币合约里面限制to地址不为交易对合约, 那么确实可以限制卖出, 但是也限制了添加流动性..

可以通过修改Uniswap合约实现. 在Router2 合约中 swap方法 参数列表里面有个 path[] 参数.. 取这个数组的第一个地址, 如果与代币合约地址相同..就不执行..path 第一个地址就代表的进入

2022-08-01 14:11 回答问题

在代币的transfer / transferFrom函数中实现你的业务逻辑..只要from或者to地址在白名单里面就走不通缩的逻辑..不在白名单里面就走通缩的逻辑

2022-07-28 10:11 回答问题

你这个是跨池子交易吧? 两个池子 (A,B), (B,C) 然后你用A兑换C: A->C

这里面会收2笔手续费..(A,B)池子收一笔, (B,C)池子收一笔.. 这个在getAmountOut()这个函数里面体现出来了, 每次进去这个函数..amountInWithFee都会处理一次...

结合你的截图看.. 有两个交易对: (LACE, WBNB) (WBNB, USD) 进入第一个池子 收取了手续费之后 获得了价值$502.82的WBNB 再拿$502.82进去第

2022-07-27 17:29 回答问题

或许可以修改一下ERC20代币的标准。。 比如transfer这个方法修改成 transfer(address _to, uint256 _amount, bytes32 _calldata) external returns (bool);

在就接收合约中, 始终记录接收合约的U的余额 lastUAmount

当你给接受合约转U时, _calldata传入接受合约中需要调用的函数选择器。。在对应的接受合约的函数中。。会拿最新的U的余额与lastUAmount做比较。。然后看新增了多少。。在根

2022-07-27 17:13 回答问题

gas price 高

Gas Fee = Gas Price * Gas Usage

图中显示的是GasFee的列表

GasFee小的排列在了前面。。说明他消耗的GAS少。。但是这笔交易的Gas Price高

2022-07-27 17:07 回答问题

https://learnblockchain.cn/2019/02/25/can-get-tx-hash/ 你可以看下这篇文章 blockhash(uint blockNumber) returns (bytes32):指定区块的区块哈希——仅可用于最新的 256 个区块且不包括当前区块

这个最多可以获取上一个区块的哈希。。且不包括当前的区块哈希。。没有单独获取交易的hash。。如果你想要提前知道交易哈希的话。。或许可以看看web3的文档。。web3.js 调用send之后是可以在交易打包之前获

2022-07-14 19:01 回答问题

https://cointool.app/audit/contract 这个工具希望可以帮助到你

2022-07-14 18:49 发起提问