# Fabric_Chaincode_Spectrum **Repository Path**: mc6g/Fabric_Chaincode_Spectrum ## Basic Information - **Project Name**: Fabric_Chaincode_Spectrum - **Description**: 频谱分配智能合约 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2023-01-10 - **Last Updated**: 2023-02-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fabric-spectrum ## 1.介绍 频谱交易智能合约 ​ 此智能合约主要基于《A Trust-Centric Privacy-Preserving Blockchain for Dynamic Spectrum Management in IoT Networks》(IEEE INTERNET OF THINGS JOURNAL, VOL. 9, NO. 15, 1 AUGUST 2022)的内容编写。 ​ 论文中提出了基于信任值的区块链共识协议和频谱交易的智能合约,我们暂时不处理前者,主要关注于智能合约的实现。 ​ 由于智能合约属于代码逻辑的范畴,所以我们可以把作者提出的智能合约重新编写并部署到我们的移动通信区块链平台上(作者自己是在以太坊进行的实验)。 ## 2.频谱交易流程 1. 使用签名STC创建CSC和SAC。 2. CSC中注册Sensor,根据trustValue和deposit判断Sensor是否足够可信。 3. Sensor感知最近的PU,并把结果返回给CSC。 4. 如果有可用的PU空闲频谱,SAC会开启频谱拍卖。Bidder可以参与竞标。 5. 返回竞标结果,获胜的Bidder获得PU的空闲频谱使用权。 ![图片1](https://gitee.com/Oracion/typora_images/raw/master/fabric/图片1.png) ## 3.频谱交易智能合约方法 | **方法名称** | **入参** | **出参** | **说明** | | --------------- | --------------- | ---------- | --------------------------- | | InitLedgerData | 无 | 无 | 初始化数据 | | CreateCSCAndSAC | 无 | CSC和SAC | 创建CSC和SAC合约 | | Fusion | cscId | 无 | sensor集合融合PU的数据到CSC | | Commit | cscId,bidderId | 无 | bidder集合在SAC合约中竞标 | | Reveal | cscId | 无 | SAC展示最终竞标结果 | | GetCSCById | cscId | CSC | 根据cscId查询CSC合约结果 | | GetSACById | sacId | SAC | 根据sacId查询SAC合约结果 | | QueryPUList | 无 | PUList | 查询PU集合 | | QuerySensorList | 无 | SensorList | 查询Sensor集合 | | QueryBidderList | 无 | BidderList | 查询Bidder集合 | ## 4.频谱交易智能合约过程模拟 1.我们可以看到PU,Sensor,Bidder的基本信息。 ![图片2](https://gitee.com/Oracion/typora_images/raw/master/fabric/图片2.png) 2.创建CSC并且可以看到Sensor聚合消息的结果。 ![图片3](https://gitee.com/Oracion/typora_images/raw/master/fabric/图片3.png) 3. 完成竞标的过程 ![图片4](https://gitee.com/Oracion/typora_images/raw/master/fabric/图片4.png) 4.查看最后的结果 ![图片5](https://gitee.com/Oracion/typora_images/raw/master/fabric/图片5.png)