
区块链
文章平均质量分 70
区块链学习
sooxin
这个作者很懒,什么都没留下…
展开
-
一个solidity小错误
addLiquidty() 为public,且没有权限判断,而合约里本身有预存的ZXD,攻击者可以通过转入BNB到合约,然后触发addLiquidty(),再 removeLiquidty(),从而盗取合约里面的ZXD,然后卖掉套利。addLiquidty() 设置为private,同时以后写合约注意,不需要的函数方法都应该设置为private,以避免出现漏洞。转入合约一定数量其他代币+BNB,合约根据转入的BNB+ZXD自动加池子。原创 2022-12-26 21:49:21 · 209 阅读 · 0 评论 -
如何使用 MetaMask 加速或取消未决交易
当我们在区块链上提交交易时,我们通常会在区块链的原生代币中支付一笔gas费。这一费用往往会根据市场条件自动调整,即区块链本身对区块空间的需求,但如果交易卡住了很长一段时间,它也可以通过向网络竞价来手动调整,以便更快地处理我们的交易。在本文中,我们将解释如何加速长时间待处理的被卡住的交易,或者完全取消交易。如何加快与MetaMask区块链交易在MetaMask上发送交易后,一个新交易将被添加到队列中。将它添加到队列后,我们将看到两个按钮——speed up和cancel。在单击Spee转载 2022-05-08 00:15:56 · 1273 阅读 · 0 评论 -
pankswap 兑换的时候报Fail with error ‘UniswapV2: K‘
// this low-level function should be called from a contract which performs important safety checksfunction swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external lock { require(amount0Out > 0 || amount1Out > 0, 'Uniswap..原创 2022-05-01 20:53:47 · 1258 阅读 · 0 评论 -
以太坊Solidity函数的external/internal,public/private,view/pure/payable区别
1. 函数类型:内部(internal)函数和外部(external)函数函数类型是一种表示函数的类型。可以将一个函数赋值给另一个函数类型的变量,也可以将一个函数作为参数进行传递,还能在函数调用中返回函数类型变量。 函数类型有两类:- 内部(internal)函数和 外部(external) 函数:内部函数只能在当前合约内被调用(更具体来说,在当前代码块内,包括内部库函数和继承的函数中),因为它们不能在当前合约上下文的外部被执行。 调用一个内部函数是通过跳转到它的入口标签来实现的,就像在当前合约的内部转载 2022-05-01 20:48:47 · 1250 阅读 · 0 评论 -
智能合约编程/Dapp漏洞 -- 交易授权/Tx.Origin Authentication
Solidity有一个全局变量tx.origin, 它回溯整个调用栈返回最初的,真正发起调用/交易的账户地址。在智能合约里使用这个变量做用户验证的话,就会留下一个受钓鱼攻击的漏洞。可以看这个Stack Exchange问答: Peter Venesses’s Blog and Solidity — Tx.Origin attacks(https://medium.com/coinmonks/solidity-tx-origin-attacks-58211ad95514)。攻击原理如果一个合约使用tx转载 2022-04-23 22:55:06 · 709 阅读 · 0 评论