十亿用户的社交图谱_TER:alchemint-standards

TRANSLATION

十亿用户的社交图谱

function_beforeTokenTransfer(addressfrom,addressto,uint256)pureoverrideinternal{//Disabletokentransfers

//ThefollowingfunctionsareoverridesrequiredbySolidity

}

Celsius与债权人及扣留账户储户达成和解协议:3月29日消息,Celsius无担保债权人官方委员会(UCC)发推文称,Celsius、UCC和扣留账户小组达成一项和解协议,为选择 “扣留”账户的债权人提供15%的加密货币实物分配,其余部分将在计划中作为Earn债权处理。批准相关申请联合动议的听证会将于2023年4月18日举行。

据悉,所谓的“扣留账户”小组是由美国一些州的客户组成的,由于监管机构的停止令,Celsius无法为他们提供可用的托管账户。 这些人可以选择将资金转移到扣留账户,而这些资金仍被冻结。数据显示,在Celsius停止提款时,其管理的大约120亿美元资产中,扣留账户仅占1450万美元。[2023/3/29 13:33:07]

如果你熟悉Solidity,你可以看到这个非常简单的合约试图做什么。

首先是扩展:

ERC721Enumerable?扩展被包括在内,因此代币持有者可以被社交网络客户端列出来,而不必扫描整个链。我使用?Pausable?是因为你应该能够暂停造币,以便基本上锁定你的账户一段时间,即停止接受新的粉丝。Ownable?是必不可少的,因为有些事情只有合约所有者应该做。我认为没有必要使用更强大的角色功能。ERC721Burnable?在这里,因为你需要能够销毁代币,以便删除关注关系。这里面包含的标准?burn()?函数有我们需要的权限,即只有所有者或令牌所有者可以销毁代币。我包含了Counters,这样?tokenID?就会自动递增,这很方便。现在对OpenZeppelin向导的输出进行修改:

safeMint()?被修改后,只有合约的所有者可以将代币铸币到其他人的地址。对于所有非所有者,你只能向你调用合约的地址铸币。_beforeTokenTransfer()?被重写,这样它就基本上禁止了转让代币的能力,创造了一个简单的灵魂绑定的代币。relationship()?函数是一个方便的方法,确保有一个简单的方法来查询合约并确认NFT代表什么样的关系。我并不赞成包括这个,但它似乎很有用。这一切真的很简单,对于OCG的屏蔽和OCG的静音变体,你要做以下小改动:

改变合约名称和符号改变?relationship()?和可能的?baseURI()?的返回值,以反映你所代表的关系。把?safeMint()?和?burn()?都变成?onlyOwner?函数,这样只有合约所有者可以调用这两个函数。显然,这将取决于平台是否以正确的方式履行这些合约。不过,这没有听起来那么有威胁性和不稳定,因为如果一个特定的社交平台不履行你所关心的合约,就不要使用它。

增加付费关注

你可以在?safeMint?中加入?payable,然后使用?setMintRate?来设定人们必须为以下内容向你支付的价格。因此,类似于这样的内容:

uint256publicmintRate=0

functionsafeMint(addressto)publicpayable{//Requirepay-to-followrequire(msg

我相信我还能想到许多其他的调整和功能来添加到这个建议中,但最好从简单和容易理解的东西开始。

建议2:链式连接图

数字藏品国内周指数上涨39

functionlistURI()public{return"https://jonstokes

functionrelationship()public{return"clgfollows";}functionpause()publiconlyOwner{_pause();}functionunpause()publiconlyOwner{_unpause();}functionsafeMint(addressto)publiconlyOwner{uint256tokenId=_tokenIdCounter

function_beforeTokenTransfer(addressfrom,addressto,uint256)pureoverrideinternal{//Disabletokentransfers

}

所有的扩展都与OCG相同,只是我没有包括?ERC721Enumerable,因为不清楚是否有人想让他们的CLGFollows代币被列举出来

至于函数方面,我对OpenZeppelin向导的输出做了以下修改:

relationship():与OLG一样,它返回社交合约的类型。同样,对于Solidity合约来说,这可能没有必要,我也没有见过这样做,但尽管如此,我觉得我想让合约自我报告它的类型。所以我不知道--如果这冒犯了你,请忽略。listURI()?返回一个指向JSON对象的链接,该对象是你正在关注的ENS名称列表。我们希望这个URI能被标记为隐私,但这并不是必须的。大多数情况下,你会使用CLGFollowsNTFT,把它发布到社交平台拥有的地址。这样,该平台可以读取你的关注列表,并向你展示正确的帖子。

但你也可以把这些NTFTs发给追随者,以便你的追随者可以发现其他追随者。你可以通过空投给追随者,或者通过解禁造币,让任何人造币来实现。

所有其他合约的工作方式与上述完全相同,但有不同的名称和符号,并从?relationship()?和?listURI()?返回不同的值。

可能的变数

如果你担心你的列表从不同的服务中泄漏,那么把listURI()变成更像?tokenURI(uint256tokenId)?的东西是非常直接的,即签名是?listURI(uint256tokenId),它把?tokenID?连接到一个基本URI的末尾,这样每个token持有者就可以得到自己的列表URL。这个功能与列表主机上的一些逻辑相结合,可以让你把列表隔离开来,使不同的令牌持有者得到主图的不同子图。这样一来,如果一个平台被拥有,那么只有我的图的那一部分被泄露了。

和OCG一样,你可以把?safemint?变成一个可支付的函数,并向访问你的列表的人收费。请看OCG部分的代码,以了解这个例子的情况。

你可能希望能够更新?tokenURI()?和/或?listURI()?返回的URLs,在这种情况下,你需要将这些URLs存储在变量中,在构造函数中初始化它们,并为更新它们提供?onlyOwner?setter函数。这将增加你的铸币成本,但如果你只打算把它们给服务而不是个人,这可能并不重要。

服务

这里概述的两个建议都提供了一些集中式托管服务的地方,即使它只是一个权宜之计,在生态系统过渡到像IPFS这样的分布式系统之前。

最明显的服务类型是托管由URI功能之一返回的任何东西--配置文件数据、NTFT元数据和代币控制的JSON列表。

另一个有用的服务是一种专门的Infura版本,通过API暴露链上的社交数据。或者,Infura可以为社交数据提供一个专门的API。

最后,可以有第三方服务来验证账户,以满足用户和组织的需求。

总结

我不知道我是否期望我的链上社交图谱建议会以我在这里描述的形式被采纳。我提出这些想法,更多的是为了引发对话,讨论我们如何从目前完全锁定平台的状态有效地过渡到更便携的状态,即你拥有你的图谱,并可以轻松地将它随身携带。

上述内容有一部分看起来有点像web5的提议,但关键的区别在于,我的两个想法被设计得更简单,并利用了智能合约和现有的链上身份提供者。

如果你从这篇文章中没有其他收获,我希望我至少已经说明,在一个分布式账本技术和智能合约的世界里,我们任何人都没有必要在2022年被锁定在一个社交网络里。解决这个锁定问题的工具是广泛存在的,我们只需要拿起它们并使用它们。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

DAI2023年,日本正迎来一次新的加密繁荣_WEB:加密货币

致我们的社区:请浏览我们的官网和推特参与最新的活动、获取更多信息。加密小牛市的背后?–?来自监管的挑战尽管硅谷银行和签名银行突然崩溃,导致了包括USDC在内的几个稳定币经历了惊心动魄的一个“去锚.

[0:31ms0-1:38ms