使用百度链的智能合约来落地公司业务场景(1)

简介: 使用百度链的智能合约来落地公司业务场景(1)

前言


这篇文章,咱们承接上文,来聊聊


上篇文章的飞机票


在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑


“如何根据自己公司的业务逻辑定义存证合约里面的数据结构来实现存证智能合约”


首先需要明确下公司存证业务需要上链的数据结构


{
"data":"", #这里是一个动态的json字符串
"businessId":"", #业务id
"fileHash":"", #文件hash
"applyNotarization","" #申请组织编号
"entityName":"" #公司名称
}


业务需求


1、将上面的数据上链


2、可以通过业务id businessId和fileHash查询


官方给的go语言版本的存证合约模版


这个咱上篇文章已经详细介绍过存证合约模版的实现逻辑了
这里把数据结构贴出来 然后和自己需要的数据结构进行比对
{
"Owner":"xiaoming" , # 这个表示用户名
"UserFiles":{ # 这个是一个map集合
               "filehash":{ # map集合的key是文件hash
                            "Timestamp":"" # 时间戳
                            "Hashval":""  # []byte(filehash) 其实也是hash值
                           }
            }
}


比对结果


1、filehash这个map的key对应的value是一个对象 对象内容官方模版只有Timestamp和Hashval这2个字段 那么咱们把 data、businessId、fileHash、applyNotarization、entityName 这5个字段加入进去


2、另外咱们上篇文章也说了 官方模版里面 是通过owner和filehash确认一条上链数据的 ,那么咱们的需求又增加了一个查询参数 businessId 那么再添加一个map集合 里面的与元素 key表示businessId value表示一个对象的json字符串不就可以解决了


最终符合业务需求的数据结构


{
    "Owner":"xiaoming",
    "UserFiles":{
        "filehash":{
            "Timestamp":"",
            "Hashval":"",
            "data":"",
            "businessId":"",
            "applyNotarization":"",
            "entityName":"",
            "fileHash":""
        }
    },
    "BuisnessUserFiles":{
        "businessId":{
            "Timestamp":"",
            "Hashval":"",
            "data":"",
            "businessId":"",
            "applyNotarization":"",
            "entityName":"",
            "fileHash":""
        }
    }
}


下面存证合约模版代码


  • 数据结构


image.png


1、添加了一个map集合 key-value ,key为businessId


2、将那5个业务字段添加进去


3、需要注意的是 对象里面的参数首字母必须大写 否则 给属性赋不了值


  • 数据上链方法修改


image.png


image.png



相关文章
|
供应链 监控 安全
企业如何搭建自己的联盟链 | 区块链落地项目运用开发
企业如何搭建自己的联盟链 | 区块链落地项目运用开发
|
TensorFlow API 区块链
合约跟单开发案例丨合约跟单对接API火币/币安/OK交易所系统开发逻辑方案/成熟技术/项目案例/源码平台
dapp定制开发技术主要包括以太坊智能合约定制开发,包括智能合约语言Solidity开发,以太坊智能合约框架Truffle开发,Web3.js开发,以太坊区块链浏览器Mist开发等。这些技术可以帮助开发者快速构建出功能强大、可靠性高的dapp。
|
安全 区块链
区块链交易所开发运营版丨区块链交易所系统开发规则详细/项目案例/设计功能/需求逻辑/源码部署
Blockchain exchange refers to an online platform built on blockchain technology for trading and managing digital assets, such as cryptocurrencies (such as Bitcoin, Ethereum, etc.) and other digital assets or tokens. Blockchain exchanges allow users to buy, sell, store, and manage digital assets.
|
存储 算法 安全
联盟链的优势 | 联盟链开发建设思路
联盟链采用身份认证和权限控制,可以精确控制节点的访问权限。同时,所有的节点均参与数据验证和共识机制,确保数据的安全性和不可篡改性。此外,在联盟链中,每个节点都有自己的存储设备,可以避免数据遗失和中心化失效的风险。
|
安全 区块链
区块链币币交易所系统开发成熟技术/方案逻辑/源码部署
Blockchain is a distributed ledger technology that stores data in the form of a gradually growing, linked data block (block), and uses cryptographic methods and consensus algorithms to ensure data security and reliability
|
存储 前端开发 JavaScript
区块链交易所系统开发(海外版)丨交易所系统开发详细规则/方案介绍/项目逻辑/源码平台
  区块链是一种基于分布式账本技术的去中心化数据库系统。它通过一系列的区块(blocks)来记录和存储交易和数据,形成一个连续的、不可篡改的链式结构。
|
存储 安全 算法
dapp公链游戏链上合约系统开发技术详细/案例开发/方案逻辑/成熟技术
  随着区块链技术的不断发展和普及,越来越多的游戏开发商开始将区块链技术应用于游戏中。区块链游戏系统开发可以带来许多好处,例如提高游戏的安全性、透明度、公正性等,同时还可以让玩家拥有更好的游戏体
|
机器学习/深度学习 自然语言处理 机器人
什么是永续合约交易所/秒合约交易所系统开发玩法规则/项目方案/成熟技术/源码平台
  从本质上说,交易机器人是一种软件程序,它直接与金融交易所进行交互(通常使用API获取和解释相关信息),并根据市场数据的解释发出买卖订单。这些机器人通过监测市场价格走势,并根据一套预先设定和编程的规则做出反应,从而做出这些决定。
|
存储 人工智能 供应链
BSC币安智能链DAPP发行代币合约模式系统开发成熟技术/案例介绍/方案项目/源码平台
  区块链+人工智能的结合可以实现更加智能化和自动化的操作方式,使得操作更加简单、高效和安全。例如,在智能合约中,人工智能可以自动检测合约中的条件并执行相应的操作,大大减少了人工干预的需求