CLEILI / A-music-copyright-item-based-on-IPFS-and-Ethereum

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Music Copyright

融合了以太坊,智能合约,ipfs的音乐鉴权系统。将文件上传到免费的分布式文件系统ipfs上获取到文件的cid,并将文件的cid通过智能合约部署到以太坊区块链上以标识文件cid的归属者。(eth太贵了QAQ,区块链使用的sepolia以太坊测试网)

作者

环境配置

Based on MacOs

首先安装go环境 Go1.21.3

  brew install go

安装ipfs

  brew install ipfs

终端进入项目根目录下

  cd yourdownloadpath/item

下载go依赖包

  go mod tidy

运行测试

首先运行ipfs节点

  ipfs init
  ipfs daemon

然后运行主函数

  go run main.go

在浏览器输入localhost:8080

Demo

首先进入初始界面,我在privatekey.txt中提供了两个私钥可供测试使用 avatar 上传文件后会显示文件cid,交易哈希。 avatar 可以在EtherScan查询签署的交易 avatar 通过cid查询该文件的归属者 avatar 通过cid下载对应的文件,任何人都可以下载,但是版权是固定的 avatar

For developers

如果你想要自己部署智能合约,在部署合约之后可以运行如下指令获取对应的go文件

  solc --bin example.sol
  solc --abi example.sol
  ./abigen --bin=Example.bin --abi=Example.abi --pkg=Example --out=Example.go

Note:abigen是一个exe文件,在authcid文件夹中

这是两个可供查询和下载的cid的例子

QmSi9JbT3fn4rsgPgg3Xf4LjGQXs6WSGRt5biwum1usyFd
QmRRtj2FwcmMQXmJUP5shpH2EnAJRy2AMFFJFD8hiWxsdk

About


Languages

Language:CSS 27.7%Language:JavaScript 26.9%Language:HTML 24.0%Language:Go 19.7%Language:Solidity 1.7%