首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏问题解决

    Solidity-浆糊日记-msg.value-Ether Units (wei, finney, szabo, ether)

    Q: 在刚开始用 remix 学solidity时一直很好奇这个VALUE是指什么?

    3.3K40发布于 2020-12-10
  • 来自专栏Python 爬虫

    【JS 逆向百例】Ether Rock 空投接口

    逆向目标 目标:Ether Rock(一种数字货币)空投接口 AES256 加密分析 主页:aHR0cHM6Ly9ldGhlcnJvY2submV0L2FpcmRyb3Av 接口:aHR0cHM6Ly9ldGhlcnJvY2submV0L2FpcmRyb3Atc3VibWl0 get_content_and_key(address): with open("get_content_and_key.js", encoding="utf-8") as f: ether_rock_js = f.read() content_and_key_dict = execjs.compile(ether_rock_js).call('getContentAndKey', address

    85820发布于 2021-11-24
  • 来自专栏Java架构师必看

    scapy sniff函数_sniffer使用

    172.31.100.149:59163 RA Ether / IP / TCP 172.31.100.222:http > 172.31.100.149:59163 RA Ether / IP / Ether / IP / TCP 172.31.100.149:58879 > 139.219.224.155:https PA / Raw Ether / IP / TCP 172.31.100.149 A / Padding Ether / IP / TCP 172.31.100.149:58879 > 139.219.224.155:https PA / Raw Ether / IP / TCP echo-request 0 / Raw Ether / IP / ICMP 172.31.100.222 > 172.31.100.149 echo-reply 0 / Raw Ether / IP echo-reply 0 / Raw Ether / IP / ICMP 172.31.100.149 > 172.31.100.222 echo-request 0 / Raw Ether / IP

    1.8K20编辑于 2022-08-15
  • 来自专栏C/C++基础

    Linux 命令(199)—— arp 命令

    (169.254.0.47) at fe:ee:7f:99:99:19 [ether] on eth0 ? (169.254.0.4) at fe:ee:7f:99:99:19 [ether] on eth0 ? (169.254.0.15) at fe:ee:7f:99:99:19 [ether] on eth0 (4)IP 和 MAC 地址绑定。 ether fe:ee:7f:99:99:19 C eth0 169.254.128.8 ether fe:ee:7f:99:99 ether fe:ee:7f:99:99:19 C eth0 10.0.0.1 ether fe:ee:7f:99:99

    6.4K20编辑于 2022-11-29
  • 来自专栏深入浅出区块链技术

    如何防止以太坊智能合约攻击-源码分析

    合约通常要处理 ether,经常会转移 ether 到各种外部用户地址。这些操作需要合约提交外部调用。 然后攻击者将用大于等于 1 的一定数量的 ether(暂时假设为 1 ether)来调用attackEtherStore函数。 在这个例子中,我们还将假设许多其他用户已经在合约中存了 ether,比如,合约当前的余额是 10 ether。 函数,参数为 1 ether。 Attack.sol26 行: EtherStore合约的总余额为 10 ether,现在是 9 ether,所以这个 if 语句通过了。

    98240编辑于 2022-04-08
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 37 课:DeFi 实战 -- 资金池与利率模型

    ); usdc.mint(bob, 1000 ether); usdc.mint(charlie, 1000 ether); } /** * assertApproxEqAbs(pool.getBorrowRate(), 0.02 ether, 0.001 ether); // Bob 借走 500,U=50% (address(pool), 300 ether); pool.deposit(300 ether); vm.stopPrank(); vm.startPrank (charlie); usdc.approve(address(pool), 200 ether); pool.deposit(200 ether); vm.stopPrank (300 ether); vm.stopPrank(); vm.startPrank(charlie); pool.borrow(400 ether);

    38810编辑于 2025-09-23
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 42 课:DeFi 实战(6) -- 跨资产借贷与多市场支持

    (address(usdcToken), user1), 1500 ether); assertEq(usdcToken.balanceOf(user1), 1500 ether); ether); vm.stopPrank(); vm.startPrank(user2); ethToken.mint(user2, 2 ether); ethToken.approve(address(lending), 2 ether); lending.deposit(address(ethToken), 2 ether); ); lending.deposit(address(ethToken), 1 ether); usdcToken.mint(user1, 1000 ether); usdcToken.approve(address(lending), 1000 ether); lending.deposit(address(usdcToken), 1000 ether

    27910编辑于 2025-10-01
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 40 课:DeFi 实战(4) -- 风险控制与防护

    ); vm.startPrank(user2); // 借款达到上限 (80% of 100 = 80 ether) pool.borrow(80 ether) ); assertEq(pool.totalBorrows(), 20 ether); assertEq(token.balanceOf(user2), 1000 ether ), 100 ether); assertEq(pool.deposits(user3), 100 ether); assertEq(pool.borrows(user2), 50 ether); assertEq(pool.borrows(user3), 40 ether); assertEq(pool.totalDeposits(), 200 ether); assertEq(pool.totalBorrows(), 90 ether); // 验证借款上限 uint256 currentCap =

    46120编辑于 2025-09-29
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 38 课:DeFi 实战(2) -- 清算机制与价格预言机

    usdc.mint(bob, 20000 ether); usdc.mint(charlie, 20000 ether); } /** * @dev 测试清算流程 assertLt(pool.debts(alice), 10000 ether); assertLt(pool.collaterals(alice), 10 ether); } ); pool.depositCollateral(10 ether); pool.borrow(5000 ether); // 安全借款 vm.stopPrank (bob); usdc.approve(address(pool), 5000 ether); pool.liquidate(alice, 5000 ether); (bob); usdc.approve(address(pool), 2000 ether); pool.liquidate(alice, 2000 ether);

    40010编辑于 2025-09-24
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 39 课:DeFi 实战(3) -- 利息累积与 aToken 设计

    ); usdc.mint(bob, 1000 ether); usdc.mint(charlie, 1000 ether); vm.startPrank(alice (); // 取回的资产 == 1000 ether(没有借款人就没利息) assertEq(usdc.balanceOf(alice), 1000 ether); } ); // 验证利息计算准确性(10%年化,100 ether * 1.1 ≈ 110 ether) assertApproxEqAbs(debt, 110 ether, 1 ether); // 允许1 ether的误差 } /** * @dev 测试取款超过存款的错误情况。 ); assertEq(aToken.balanceOf(alice), 50 ether); assertEq(aToken.balanceOf(bob), 50 ether

    29510编辑于 2025-09-27
  • 来自专栏区块链大本营

    “危机四伏”的以太转账操作|以太转账安全风险——漏洞分析连载之八期

    预先发送的 Ether 合约不使用 selfdestruct() 函数或调用任何 payable 函数仍可以接收到 Ether 的第二种方式是把 Ether 预发送到合约地址。 这意味着,任何人都可以在创建合约之前计算出合约地址,并将 Ether 发送到该地址。当合约确实创建时,它将具有非零的 Ether 余额。 3. 里程碑以 Ether 计价。当游戏结束时,第一个达到里程碑的人可以获得合约的部分 Ether。当达到最后的里程碑(10 Ether)时,游戏结束,用户可以取走奖励。 攻击者可以通过上述提到的三种方式将ether置入合约: 比如第一种方式,自毁: 部署合约的时候在交易中附加0.1 ether,然后调用attack函数自毁合约,此时将会把0.1 ether发送到案例合约 如果确实需要精确的余额值,那么应该定义一个状态变量,该变量在合约通过payable函数接收到ether的时候增加,用来安全的追踪合约收到的ether,并且,这个变量不会受到强制发送ether到合约(例如

    81620发布于 2018-09-21
  • 来自专栏用户8851537的专栏

    CentOS 7解决arp欺骗

    (192.168.43.62) at 24:6e:96:93:c9:7d [ether] on eth0 ? (192.168.43.25) at 52:54:00:b4:3f:a3 [ether] on eth0 gateway (192.168.43.1) at 3c:f5:cc:91:79:87 [ether (192.168.43.163) at 52:54:00:78:13:7d [ether] on eth0 ? (192.168.43.44) at 24:6e:96:93:a3:c4 [ether] on eth0 ? (192.168.43.43) at 24:6e:96:8c:df:64 [ether] on eth0 ?

    2.2K30发布于 2021-07-22
  • 来自专栏code人生

    Solidity:接收 ETH

    payable 在Solidity中,payable是一个函数修饰符,它允许函数接收Ether(以太币)。如果一个函数被标记为payable,那么你可以在调用该函数时附带一定数量的Ether。 4.deposit1:这是一个可支付函数,这意味着你可以在调用这个函数时向它发送Ether。发送的Ether将被添加到合约的余额中。 receive函数在合约接收Ether时被调用,fallback函数在调用了不存在的函数时被调用。这两个函数都必须被标记为payable,否则合约不能接收Ether。 receive 在Solidity中,receive函数是一种特殊的函数,用于处理发送到合约的Ether转账。这个函数在合约收到普通Ether转账时被调用,它不能有参数,也不能返回任何值。 事件,事件中包含了发送者的地址和发送的Ether的数量。

    77310编辑于 2024-05-28
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 45 课:DeFi 实战(9) -- 利息累积与结算机制(可复利)

    ); token.mint(bob, 3000 ether); token.mint(admin, 1000 ether); // 批准池子操作 ); assertEq(pool.totalDeposits(), 1000 ether); assertEq(token.balanceOf(alice), 4000 ether (), 1000 ether); assertEq(token.balanceOf(bob), 4000 ether); // 3000初始 + 1000借款 // 测试还款 (), 800 ether); assertEq(pool.availableLiquidity(), 700 ether); // 验证利用率 uint256 (utilization, 0.5 ether, 1e16); // 约50% assertEq(pool.availableLiquidity(), 500 ether);

    37810编辑于 2025-10-12
  • 来自专栏宸机笔记

    Python-Scapy之ARP欺骗(2)

    from scapy.all import Ether,ARP,sendp,getmacbyip Ether:用来构建以太网数据包 ARP:构建ARP数据包的类 sendp:在第二层发送数据包 getmacbyip :返回对应IP的MAC地址 核心部分: 伪造网关 欺骗目标计算机: Ether(src=[本机MAC],dst=[目标MAC])/ARP(hwsrc=[本机MAC],psrc=[网管IP],hwdst =[目标MAC],pdst=[目标IP],op=2) ARP将网关IP地址映射到本机MAC上,针对dst即目标(dst值为空时,针对当前网段所有IP);Ether以网关身份向目标发包 伪造目标计算机 欺骗网关: Ether(src=[本机MAC],dst=[网关MAC])/ARP(hwsrc=[本机MAC],psrc=[目标IP],hwdst=[网关MAC],pdst=[网关IP],op=2) (wgIP) ether=Ether() arp=ARP() def arpSpoof(mbMAC,wgMAC,bjMAC): try: eth.src=bjMAC eth.dst=wgMAC

    74510发布于 2020-11-04
  • 来自专栏建站知识

    Linux管理系统的arp缓存命令

    -H type, --hw-type type: 指定检查特定类型的表项,默认type为ether,还有其他类型。 -i If, --device If: 指定设置哪个网络接口上面的arp表项。 C eth0 hostname2 ether 00:0f:fe:43:28:c5 C eth0 hostname3 ether 00:1d:92:e3:d5:ee C eth0 hostname4 :1d:92:e3:d5:ee C eth0 10.1.10.253 ether 44:37:e6:9b:2c:53 C eth0 10.1.10.178 ether 00:1b:78: (10.1.10.178) at 00:1b:78:83:d9:85 [ether] on eth0 aplab.local (10.1.10.119) at 00:1d:0f:11:f2:a5 [ether 00:1d:92:e3:d5:ee C eth0 10.1.10.253 ether 44:37:e6:9b:2c:53 C eth0 10.1.10.178 ether 00:1b

    8.7K40发布于 2021-07-21
  • 来自专栏区块链入门

    【链安】竞态条件漏洞分析及详细修复建议

    重入漏洞(Reentrancy) • 问题描述 合约通常用来处理 Ether,因此通常会将 Ether 发送给各种外部用户地址。调用外部合约或将以太网发送到地址的操作需要合约提交外部调用。 depositEther()函数,预先向原合约预存1 ether,此时, 在原合约中,攻击合约的地址有1 ether余额; 4、攻击者调用攻击合约的withdrawFunds()函数,该函数再调用原合约的 (_weiToWithdraw)());,向msg.sender转入_weiToWithdraw(此时是1 ether),由于msg.sender是合约地址,solidity规定向合约地址接收到ether 最终的结果是攻击者只使用了1 ether,就从原合约中取出了所有的ether。 攻击者将获得1000ether,最初解决问题的用户将不会得到任何奖励(合约中没有剩余ether)。 漏洞修复 有两类用户可以进行这种的提前交易攻击。

    1.3K20发布于 2018-08-10
  • 来自专栏全栈程序员必看

    linux 主机支持远程唤醒_LINUX 远程开机

    //是否开启wol以及是何种模式(d 表示禁用,g表示响应magic packet的唤醒) 如果为d将它改为g: ethtool -s eth0 wol g ether-wake 实行远程自动开机 下载 ether-wake.c 这个档案:然后开始编译他: gcc -O -Wall -o ether-wake ether-wake.c 此时你的家目录下应该会有一个名为 ehter-wake /ether-wake 11:22:33:44:55:66 . /ether-wake -u //查看更多用法 一般系统都默认带有ether-wake 这个东西 只需要直接运行它就可以了 使用ether-wake -p IP地址 就可以唤醒对应ip的机器了 发布者

    13.3K10编辑于 2022-09-05
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 44 课:DeFi 实战(8) -- 利率曲线与资金池优化(动态利用率模型)

    , 500 ether); // 1000 ether 存款,500 ether 借款,利用率应为 50% assertApproxEqRel(U, 0.5e27, 1e15 , 200 ether); // 20% 利用率 uint256 highU = model.depositRate(1000 ether, 950 ether); // 95% 利用率 , 100 ether); // 10% 利用率 uint256 u2 = model.utilizationRate(1000 ether, 900 ether); // 90% 利用率 uint256 r1 = model.borrowRate(1000 ether, 100 ether); // 低利用率利率 uint256 r2 , 800 ether); uint256 depositRate = model.depositRate(1000 ether, 800 ether);

    30410编辑于 2025-10-12
  • 来自专栏Godev

    外包精通--k8s之flannel网络

    ether fe:ee:59:af:45:0e C eth0 169.254.128.12 ether fe:ee:59:af:45 ether fe:ee:59:af:45:0e C eth0 169.254.128.2 ether fe:ee:59:af:45 ether fe:ee:59:af:45:0e C eth0 169.254.0.83 ether fe:ee:59:af:45 ether fe:ee:59:af:45:0e C eth0 169.254.0.55 ether fe:ee:59:af:45 ether fe:ee:59:af:45:0e C eth0 169.254.128.12 ether fe:ee:59:af:45

    1.2K10编辑于 2023-07-31
领券