DApp
智能合约安全:6.抢先提交Front Running
什么是 Front Running Front Running 指 miners 可以看到待处理的交易内容。当发现某笔高价交易时,它们可以在该交易之前插入一笔交易,使自己获利。举个例子,Alice 决定购买某个稀缺 Token, 出价为 10 ETH。这笔交易在区块链上公开可见。…
智能合约安全:5.selfdestruct
自毁函数 selfdestruct 是智能合约一个具有潜在危险性的功能,黑客可以通过多种手段利用它进行恶意攻击。本文将通过代码实例分析 selfdestruct 攻击方式,以及如何通过安全编码防范这类攻击。 攻击者可以通过调用目标合约的 selfdestruct 函数破坏合约…
智能合约安全:4.整数溢出
1. 在智能合约开发中,整数溢出是一个常见的安全隐患。由于数字类型在 Solidity 中的默认长度有限,执行算术运算时可能会导致整数溢出。攻击者可以利用此漏洞进行各种欺诈。 一个简单的整数溢出例子如下:
Copy
mapping (address => uint256…
智能合约安全:3.重入攻击
重入攻击是智能合约安全领域的一大威胁。当合约函数在调用过程中状态发生变化,未及时同步时,攻击者可以利用这一时间差进行重入调用,达到异常执行控制流程的效果。本文将详细解析重入攻击的形式、危害以及对应的安全防范 coding 范式。 什么是重入攻击
重入攻击指的是恶意攻击者重复调用合…
智能合约安全:2.绕过EOA检查
智能合约安全非常重要。许多 DApp 会要求调用者必须是 EOA (外部拥有账户), 不能是其他合约,以防止恶意调用。一个常见的检查方式是使用 isContract () 函数: Copy
function isContract(address addr) internal…
链游公司面试题
1. 说是链游公司,但是没问游戏相关的,问的主要还是合约 2. 面试:简单的自我介绍+简历上的项目 + chainlink vrf 原理 + 代理合约的原理
3.chainlink vrf 原理:Chainlink 预言机是一个去中心化网络,在网络中有很多预言机节点…
智能合约的gas优化:2.定长数组
Copy // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract test {
uint256[5] test = [1, 2, 3, 4, 5];
function setTest…
智能合约安全:1.随机数攻击
keccak256 哈希算法,可以将任意长度的输入压缩成 64 位 16 进制的数,且哈希碰撞的概率近乎为 0; abi.encodePacked 对 seed 参数进行编码
block.timestamp 代表调用 random 这个函数的时间;
block…
加密货币和量化:7.AI配置
1. 启动 Copy
freqtrade trade --config config_examples/config_freqai.example.json --strategy FreqaiExampleStrategy --freqaimodel…
加密货币和量化:6.前瞻分析
1. 通过前瞻分析来验证测率 Copy
freqtrade lookahead-analysis
加密货币和量化:5.回测
1. 指定配置文件和策略进行回测,回测的结果保存在 user_data/backtest_results Copy
freqtrade backtesting --strategy SampleStrategy --config config.json
2. 指定 1…
加密货币和量化:4.下载数据
1. 回测可以验证我们的策略,进行回测我们需要先下载数据, Copy
freqtrade download-data --config config.json --days 999 -t 5m 15m 30m 1h 2h 4h 1d 1w
freqtrade download…
加密货币和量化:3.策略配置
1. 新建策略,对应的策略的文件路径,user_data/strategies/test.py Copy
freqtrade new-strategy --strategy test
2. 一个好的策略,需要有,ROI, 指标,下单规则,退单规则,止损。
3. 而外参数叫…
加密货币和量化:2.用户配置
一共有三种配置,环境配置,用户配置,还有策略配置,其中环境配置的优先级高于用户配置,高于策略配置高于策略配置,如果产生冲突了,那么会使用优先级高的设置 1,生成用户配置文件
Copy
freqtrade new-config --config config.json
2…
加密货币和量化:1.安装freqtrade
1. 使用 WSL 2. 安装 python 扩展
3. 安装 python pip venv,pip 用来安装包 ,venv 用来创建虚拟环境
Copy
sudo apt update
sudo apt upgrade
sudo apt install python3
sudo…
智能合约的gas优化,1.拒绝openzeppelin
能不用 openzeppelin 就不用 openzeppelin 比如写一个访问控制和所有权转移
1. 自己写逻辑
Copy
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract test…
机器学习和量化投资:4.构建lstm
1. 搭建 LSTM 神经网络, Copy
class LSTM(nn.Module):
def __init__(self, input_size, hidden_size, num_stacked_layers):
super().__init__()…
机器学习和量化投资:3.pytorch创建数据集
1. 安装 pytorch,pytorch 是一个 python 优先的深度学习框架。使用 pytorch 可以自动去组合因子成策略。GPU 训练的话只有 N 卡支持,这里选择 cpu 模式就行。https://pytorch.org/ ,torchvision 用来处理图像…