背景:
由于公司业务需求,需要使用区块链技术进行相关的应用的落地,经过多方观察以及各种原因需要研究fisco bcos底层链,所以彪哥就开始了学习fisco bcos的之路。于是在学习的过程中,记录一下学习笔记。也方便后续我加深印象。在学习之前我是以要实现某个业务场景来学习的。这里就引出了把我博客的留言板块的数据上链的想法,我的博客是基于https://gitee.com/yadong.zhang/DBlog?_from=gitee_search开源项目搭建的(有兴趣的小伙伴开源了解了解),目前已经部署在互联网上(请不要黑我)说干就干。在百度搜索关键字“向彪”,第一个就是我的博客了。
设计思路:
业务流程如下(是不是特别简单???):
目前的留言数据库表字段如下:
DROP TABLE IF EXISTS `biz_comment`;
CREATE TABLE `biz_comment` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`sid` bigint(20) NULL DEFAULT NULL COMMENT '被评论的文章或者页面的ID',
`user_id` bigint(20) UNSIGNED NULL DEFAULT NULL COMMENT '评论人的ID',
`pid` bigint(20) UNSIGNED NULL DEFAULT NULL COMMENT '父级评论的id',
`qq` varchar(13) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论人的QQ(未登录用户)',
`nickname` varchar(13) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论人的昵称(未登录用户)',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论人的头像地址',
`email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论人的邮箱地址(未登录用户)',
`url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论人的网站地址(未登录用户)',
`status` enum('VERIFYING','APPROVED','REJECT','DELETED') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'VERIFYING' COMMENT '评论的状态',
`ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论时的ip',
`lng` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '经度',
`lat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '纬度',
`address` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论时的地址',
`os` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论时的系统类型',
`os_short_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论时的系统的简称',
`browser` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论时的浏览器类型',
`browser_short_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论时的浏览器的简称',
`content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论的内容',
`remark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注(审核不通过时添加)',
`support` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '支持(赞)',
`oppose` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '反对(踩)',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Compact;
选择需要上链摘要信息:
sid 被评论的文章或者页面的ID
nickname 评论人的昵称
content 评论的内容
小的可怜架构:
目前有2台公网的服务器,用户访问博客服务器写留言,后台审核之后就通过api调用区块链底层写入相关的数据。