原生 预言机协议
验证者原生喂价,多源数据聚合,异常值检测,零额外成本。无需 Chainlink 等第三方服务。
💡 核心优势:验证者直接参与喂价,通过 BFT 共识确保数据真实性,无需支付第三方预言机费用。
数据类型
| 类型 | 值 | 说明 |
|---|---|---|
| Price | 0 | 资产价格 |
| CashFlow | 1 | 现金流到账确认 |
| NAV | 2 | 资产净值 |
| ExchangeRate | 3 | 汇率 |
| Custom | 255 | 自定义数据 |
Go 调用示例
oracle := oracle.NewNativeOracle(oracle.OracleConfig{
MinFeeders: 3,
MaxAge: 24 * time.Hour,
DeviationThreshold: big.NewInt(100000000000000000),
UpdateInterval: 1 * time.Hour,
})
oracle.RegisterFeeder(&oracle.FeederInfo{
Address: "0xValidator1",
Accredited: true,
})
oracle.SubmitData(&oracle.DataPoint{
AssetID: "asset_001",
DataType: oracle.DataTypePrice,
Value: big.NewInt(1000000000000000000),
Feeder: "0xValidator1",
Timestamp: time.Now(),
}, "0xValidator1")
data, _ := oracle.GetData("asset_001", oracle.DataTypePrice)
fmt.Printf("Median: %s, Mean: %s\n", data.Median.String(), data.Mean.String())
文件位置
pkg/oracle/native_oracle.go - 约 300 行