当前位置:首页 > 物联网 > 区块链
[导读] 在本文中,我将为数字资产实现一个简单有效的标记化智能合约。如果你觉得代码有用,请随意重用。 本文的第二个目的是说明为什么一些用于区块链开发的用例是有用的,而另一些用例则更值得怀疑。通常关

在本文中,我将为数字资产实现一个简单有效的标记化智能合约。如果你觉得代码有用,请随意重用。

本文的第二个目的是说明为什么一些用于区块链开发的用例是有用的,而另一些用例则更值得怀疑。通常关键在于权力下放是否合理。

区块链允许我们构建不同于传统解决方案的软件。使用区块链,您可以构建可信任的分布式应用程序,以存储未被篡改的数据。分布式是一个必要的要求,你可以开发许多不同的区块链解决方案,但要想让任何一个区块链解决方案达到盈利规模,你必须接受你不会控制它。这是个棘手的问题。

分布式工作的用例的一个例子是比特币。它作为一个可信的区块链应用程序的实现使得比特币在没有任何集中控制或策略的情况下得以有机增长。比特币成为某种货币或资产,并使一些人非常富有,因为有足够多的人认为它有价值。

现在,在以太坊(ethereum)或超账本(hyperledger)等平台上轻松构建区块链应用程序成为可能,试图利用区块链机会的想法数量激增。

区块链应用的一种常见模式是某些市场的实施。世界上许多市场的效率都非常低,市场制造商在诉讼程序中占很大比例。区块链本质上需要移除中间商,将中介成本返还给用户。

使用区块链,您可以构建可信任的分布式应用程序,以存储未被篡改的数据。

在讨论标记化方案时,我喜欢对物理资产和数字资产进行非常明确的区分。当标记化物理资产时,与物理世界有复杂的关系。像谁实际持有资产这样的问题很重要。考虑到您可以对资产执行的主要操作之一是转移它,您需要将令牌转移与资产转移同步,这不是一项容易的任务。

标记化数字资产要简单得多。您可以使用您的数字资产的令牌表示,并很容易地将令牌与资产相锚对。我们可以轻松地自动化整个业务流程。让我们看一个例子。

商业案例

在我们的业务案例中,我们将在区块链平台中管理软件许可证。这些许可证将使用按使用付费模式。就这样,简单。

按次使用付费是一个有效的货币化过程,但在管理许可证时相当麻烦。离线许可证通常很容易破解,要拥有在线许可证,您需要维护服务器。至少会有点头痛。

使用区块链,我们可以实施有效的许可证系统。我们将要包括的其他功能是收集付款以充值许可证的工具,以及用户如果愿意交易许可证的机会。除此之外,维护许可证系统将由用户以非常低的费率支付。

案例实施

ERC721合同生成唯一可识别的令牌,这些令牌不能合并或分解为分数。这些是用于标记化资产的非常有用的功能,这通常使ERC721合同成为此类方案的理想起点。

著名的erc721令牌示例是cryptokitties。这些都是数字宠物,本身是相同的,除了一些审美特征编码在他们的标识符。你可以很容易地看到任何两个密码猫是不同的,你不能分割或合并密码猫。

我们的许可证管理合同将使用ERC721标准。我建议你看一下代码,即使你是一个商人。即使您不知道如何编写代码,也应该通过阅读方法名和注释了解可以做什么。

我们的许可证管理合同将使用ERC721标准。我建议你看一下代码,即使你是一个商人。即使您不知道如何编写代码,也应该通过阅读方法名和注释了解可以做什么。

许可证将在一段时间后到期,必须加满才能保持有效。为此,我们将在许可证和到期日期之间创建一个额外的映射。我们将有一种方法可以接受ether并将许可证的到期日期推到将来。

在那之后,我们只需要一个更简单的方法来检查到期日期。完整合同如下:

pragma solidity ^0.5.0;

import “openzeppelin-solidity/contracts/token/ERC721/ERC721.sol”;

import “openzeppelin-solidity/contracts/ownership/Ownable.sol”;

import “openzeppelin-solidity/contracts/math/Math.sol”;

/**

* @TItle License Token

* @author Alberto Cuesta Canada

* @noTIce Implements an ERC721 license token with validity by top up.

*/

contract LicenseToken is ERC721, Ownable {

event TopUp(uint256 licenseId, uint256 expire);

/**

* @noTIce mapping from token id to expire date (in unix TIme)

*/

mapping(uint256 =》 uint256) internal expire;

/**

* @notice Delay the expiration of a license by a second per wei.

* @param _licenseId The license id.

*/

function topUp(uint256 _licenseId)

external

payable

{

uint256 timeToAdd = msg.value;

expire[_licenseId] =

Math.max(now, expire[_licenseId]) + timeToAdd;

emit TopUp(_licenseId, expire[_licenseId]);

}

/**

* @notice Mint new licenses, only owner.

* @param _to The address to receive the license.

* @param _licenseId The unique license id.

*/

function mint(address _to, uint256 _licenseId)

public

onlyOwner()

{

_mint(_to, _licenseId);

}

/**

* @notice Retrieve an expire date for a license

* @param _licenseId The license id.

*/

function getExpire(uint256 _licenseId)

public

view

returns(uint256)

{

return expire[_licenseId];

}

}

结论

区块链中资产的标记化是一种流行的概念,但并非所有用例都适用于它。 数字资产的标记化是一种完美的契合,可以生成简单而有效的实现。 自动化经常被视为区块链的优势之一,但自动化对于数字资产来说是很自然的。

ERC721合同为我们提供了非常有用的功能,可以在各种方案中使用,条件是资产必须是真正唯一、不可分割和易于交易的。

来源: 区块链研究实验室

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

现如今数字经济完全依赖各大平台的服务,交易能否达成与双方信用直接挂钩。平台往往在交易过程中抽取大量服务费用,导致了交易成本的提高。

关键字: 元宇宙 区块链 虚拟活动

随着人工智能(AI)技术的不断发展和创新,其应用领域也在不断拓展。AI正在逐步渗透到各个行业中,为我们的生活和工作带来诸多变革。本文将为您探讨人工智能在各个领域的应用。

关键字: 人工智能 区块链 应用领域

本文中,小编将对区块链技术予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 区块链 Blockchain

深圳2023年9月8日 /美通社/ -- 近日,超算领域国际顶级会刊SC23公布了论文入选名单,由微众银行区块链团队发表的论文——《FISCO-BCOS:An Enterprise-grade Permissioned...

关键字: 区块链 OS 开源 联盟链

(全球TMT2023年9月6日讯)耀世星辉新文娱集团控股有限公司宣布,根据2023年8月16日签署的《股份认购协议》,完成发行总计8,064,516 股普通股,认购价格为每股2.48美元,总计2000万美元的战略投资完...

关键字: 云计算 移动互联网 区块链 生态系统

上海2023年8月17日 /美通社/ -- 低碳经济的新机遇和挑战激发了电池制造业的创新热情。为了引领行业电池安全生产标准的制定并保持市场领先地位,一些电池制造公司,已在电池创新技术上投入巨大的研发力量。 在这个背景下...

关键字: 区块链 新能源电池管理 区块链技术 AI

(全球TMT2023年8月17日讯)耀世星辉新文娱集团控股有限公司宣布与两家新的投资机构签署战略投资股份认购协议。根据协议,公司同意向两家机构发行总计8,064,516 股普通股,每股价格为2.48美元,总额2000万...

关键字: 云计算 移动互联网 区块链 生态系统

近日,SABIC携手区块链软件提供商Circularise共同推出区块链试点项目,旨在评估其技术在追踪特定材料从“端到端”流动的碳足迹方面的使用情况。

关键字: 区块链 碳中和

区块链技术是一种基于去中心化、分布式、不可篡改的数据存储和传输技术,其应用场景广泛,涉及到数字货币、供应链管理、智能合约、数字身份验证、物联网等多个领域。以下是区块链技术的几个具体应用:

关键字: 区块链 数字货币

比特币是一种去中心化、全球性的数字货币,它通过加密算法和分布式账本技术,实现了安全、快速、低成本的交易和转移资产。比特币的出现,打破了传统的金融模式,为人们提供了一种全新的支付方式和财富管理方式,同时也引发了人们对金融创...

关键字: 比特币 区块链
关闭
关闭