Title: Indians Threatening to Attack Fur Boats
Creator: Alfred Jacob Miller (American, 1810-1874)
Date Created: 1858-1860
Roles: Painter: Alfred Jacob Miller (American, 1810-1874)
Provenance: William T. Walters, Baltimore, 1858-1860, by commission; Henry Walters, Baltimore, 1894, by inheritance; Walters Art Museum, 1931, by bequest.
Object Type: watercolors
Medium: watercolor on paper
Dimensions: H: 9 7/8 x W: 13 1/16 in. (25.1 x 33.2 cm)
Credit Line: Commissioned by William T. Walters, 1858-1860
Classification: Painting & Drawing
Accession Number: 37.1940.70
安全自身乃一窄边领域,区块链亦然。如将区块链与安全结合,招募合适人选可谓艰辛。因此,先前团队招聘之际,常不得已只得先招纳传统安全人才,待其加入团队后再转向学习区块链,专攻区块链安全。正因如此,我就萌生了这一区块链入门课程系列。现将部分内容搬迁至博客,分享给大家。也感谢团队同学们的助力
所有代码和教程开源在Yewbs’s Github
区块链浏览器
不同类型的区块链使用不同的浏览器,比如:
- 以太坊: Etherscan
- 币安智能链Binance Smart Chain: Bscscan
- Solana链: Solanascan、Solana FM
- Polygon: polygonscan
- xDAI: Gnosis Chain Explorer
- Metis链: Andromeda Metis Explorer
- Arbitrum: Arbiscan
- Aptos: Aptos explorer、Aptoscan
- Sui: Suiexplorer、Suiscan
- Optimistic: Optimistic
- Avalanche: Avalanche
- Base: Basescan
下面以Etherscan为例,进行浏览器使用的简单介绍
1. 首页
打开Etherscan之后显示如下,具体内容分为四部分:
- 页面顶部搜索框:此处可以直接搜索地址(包括EOA地址、合约地址),交易Hash、区块、代币等;
- 页面中部基本信息:包括当前以太坊的价格(可以兑换多少BTC)、全网一共产生的交易数、以太坊网络的转账手续费、以太坊的总市值、平均挖矿难度、全网算力;
- 左下角:目前以太坊最后生成的区块信息;
- 右下角:目前以太坊上最新的交易信息;
2. 查询地址信息
我们以一个钱包地址 0xf358f43A6b5…0d215A984076f85 为例进行查询。
在首页输入要查询的钱包地址(地址支持自动补全),点击右侧的「Search」进入查询结果界面。
截图中显示的就是查询到的地址信息,在每个字段上标记了字段解释,用户可以根据需求查看对应信息。
💡 提示:
以太坊网络中发生的所有交易都以区块浏览器查询的记录为准,所以确认一笔交易状态的最佳办法就是查询区块浏览器。
对于用户转出代币,在区块浏览器中查询地址没有转出记录,说明这笔交易并未成功。
对于用户转入代币,在区块浏览器中查询地址没有转入记录,说明并没有代币转入。
3. 查询交易信息
点击一笔交易的 TxHash(交易哈希),就能查看这笔交易的详细信息。
以上是 ETH 转账成功的显示内容。那么除了 ETH,代币(Token)的交易信息是怎样的呢? 我们这里以转账 KyberNetwork 为例
交易失败情况说明
上述两张图展示的是转账成功的样式,那么转账失败是怎样的呢?主要是以下三种常见类型:
第一种类型 Out of gas(Gas 不足):转账时设置的 Gas 不足,使用高级模式设置合理的 Gas 重新发起转账即可。
第二种类型 Reverted:出现Reverted错误,属于合同执行过程中遇到错误。这笔交易虽然是失败的,但是依然会被扣除矿工费,并且交易取消不会扣除代币。
第三种类型 Bad instruction(错误指令) :这种问题属于一般错误类型。这笔交易虽然是失败的,但是依然会被扣除矿工费,并且交易取消不会扣除代币。
出现 Bad Instruction 和 Reverted 错误,均属于代币合约问题,建议用户在相关代币项目方社区直接询问代币项目方。
4. 查询ERC-20代币信息
imToken 目前支持所有的 ERC-20 代币,我们在这里没必要深究到底什么是 ERC-20,只需要知道 ERC-20 是以太坊的 Token 标准。用户可以使用 Etherscan 查询所有 ERC-20 Token 的信息。
输入 你想要查找的 Token 名称输入到地址栏,如果符合 ERC-20 标准搜索框会自动显示查询结果。
大家可以尝试去看一些 Token 的合约代码,不同的项目可能采取不停的发行 Token 的方式,这些都可以从合约代码中查到。这里不对其做详细阐述,下面是以 OMG 举例。
5. 查询ENS域名
ENS 是以太坊域名服务,一个基于以太坊的分布式,开放和可扩展的域名系统。 以太坊生态圈中使用的一些哈希地址通常十分长,例如以太坊钱包地址和 Swarm 文件的哈希地址,而 ENS 域名系统是旨在为用户提供简短易读的域名。目前 imToken 支持 ENS 域名注册以及进行转账交易。
区块链浏览器同样提供API服务,感兴趣的同学可以参考如下链接:
交易分析工具
合约逆向
区块链安全靶场
Wargames
- Ethernaut
- Capture the Ether
- EtherHack
- Security Innovation Blockchain CTF
- Cipher Shastra
- DeFi Hack
- Gacha Lab
Challenges
- Secureum-a-maze-x-challenges
- Sol Challenges and Solutions
- Hats Finance Challenge
- Hackxyk Stablecoin Challenge
- Immunefi Community Challenges
- EVM puzzles
- More EVM puzzles
- Solana Security Workshop
- Interview Contracts
- Pinball Challenge
- Damn Vulnerable DeFi
- NCCGroup GOAT Casino
- Damn Vulnerable Crypto Wallet
- Cryptohunt by p4d
- Impossible by u/eththrowaway4
- Hacking smart contracts for fun and profit
- Challenges by @robot_dreams
CTFs
- Sherlock CTF Solutions
- The Standoff Digital Art Competition
- Paradigm CTF - 2021
- 0xPOLAND - 2020
- AnChain CTF - 2020
- Sharky CTF - 2020
- CipherShastra CTF
- Donjon CTF - 2020
- Chain Heist - 2019
- Capture the Coin - 2019
- ConsenSys Dilligence Ethereum Hacking Challenge - 2018
- Code Blue PolySwarm Challenge - 2018
- Real World CTF (Acoraida Monica Challenge) - 2018
- Authio Solidity CTF
- ZeroNights ICO Hacking Contest - 2017