在本作品中搭建了一个基于非同质化代币的知识产权防侵权系统。该作品底层由truffle进行区块链开发平台的合约部署,默认部署在ganache的区块链仿真平台上;该作品通过flask作为网站引擎对外提供web服务,接受用户请求,与底层区块链交互,并将结果反馈给用户;最后通过html+js提供网页前端与用户进行交互。
为了使作品能够正常工作,请按照以下顺序进行环境配置:
本作品使用linux操作系统进行部署和测试,并推荐使用docker进行测试工作。另外推荐安装ganache桌面端作为可视化的区块链仿真平台,当然您也可以选择其他的区块链平台部署合约!
为了使作品能够正常工作,请按照以下顺序进行代码安装:
- 下载并解压代码;
- 运行ganache或者其他区块链开发平台;
- 根据启动的区块链开发平台的实际运行位置和端口,修改
truffle-config.js文档中关于网络的设置,默认设置为ganache的默认配置;
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*",
},
},- 通过
truffle migrate命令将./contracts/文件夹中的合约部署在区块链中 - 将合约在区块链中的地址记录下来,并修改
app.py中,合约实际部署的地址;
contract_address = "0xE32913159aE0F8772794E7D0A53247B2721b2912" # 合约MyNFT地址
Faucet_address = "0x18E48C14515ee4A7Fa7C336d4F6d1E8f3b6118b1" # 合约Faucet地址
RingSig_address = '0xD287959491e8Fc0D688E140fdAE2d8F91981922f' # 合约RingSig地址- 修改
app.py中实际的数据库位置;
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://admin:7b5b2e4afcb3e1ff30de9780ee3f05ac28cc12fa@127.0.0.1:3307/webUsers'
# 协议://用户名:密码@ip:port/数据库名- 通过
flask create进行初始化,该操作会在系统中初始化30个用户,命名为test1~test30,密码为test123; - 通过
python3 app.py运行系统;
- 注册与登录。新用户在访问网站后可以注册新用户并登录网站。
- 用户账户信息模块。登录网站后,首先可以看到用户账户信息模块,这里显示了用户的相关账户信息,如用户名、账户地址、余额、持有版权代币情况等等。
- 测试币申请模块:为了仿真真实区块链上的交易情况,通过部署水管合约,为用户提供测试币进行后续测试;
- 版权注册模块:在这里用户可以通过花费测试币,为自己的数字图像作品注册版权,并生成零水印;
- 版权仲裁模块:在这里可以进行版权仲裁,快速发现已注册版权的相似作品和他的注册水印信息。







