经济下行阶段,一个 37 岁失业程序员的独白(经历/经验分享)
警告:区块链投资高风险,需要谨慎,谨慎,再谨慎!
实战案例四:DeFi 去中心化交易所
现实情况是期望代币可以在去中心化的交易场所中交换,这篇文章就是从一个简单案例来说明交换,流动性该如何实现。 我们需要先梳理一下,期望这个应用具备哪些功能:只用一个代币对建立交易场所交易收取 1% 的费用用户可以为 UseWeb3Token 添加或删除流动性为用户提供 LP 代币说明:实现会比这个例子复杂的多// SPDX-License-Identifier: SEE LICENSE IN LICENSE pragma solidity ^0.8.4; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract UseWeb3Exchange is ERC20 { address public useweb3TokenAddress; constructor(address useweb3TokenContract) ERC20("LP Token", "LP") { useweb3TokenAddress = useweb3TokenContract; } function getReserve() publ...
初识 Solidity 和 OpenZeppelin
Solidity 是一种面向对象的高级静态语言,用于实现智能合约,运行于 以太坊虚拟机,它支持继承,库和自定义类型等。pragma solidity ^0.8.0; contract HelloWorld { } Solidity 有三种类型的变量,熟悉它是因为变量的范围是由它们声明的位置所决定的:Local在函数内部声明且不存储在区块链上State存储在区块链上Global提供区块链相关的信息,它在运行时由以太坊虚拟机注入包括交易发送者,区块时间戳,区块哈希等全局变量语法知识,请阅读:https://docs.soliditylang.org/en/v0.8.9/index.html初识 OpenZeppelin说明:OpenZeppelin 是一家以太坊安全公司,其为流行的智能合约标准开发了一组合约,这些合约经过了大量的测试和安全审查,所以如果我们需要实现这些标准合约时,应该尝试找到 OpenZeppelin 提供的合约,而不是重头开始重写整个标准。https://github.com/OpenZeppelin/openzeppelin-contracts在 useweb3 ...
Dev
经济下行阶段,一个 37 岁失业程序员的独白(经历/经验分享)
警告:区块链投资高风险,需要谨慎,谨慎,再谨慎!
实战案例四:DeFi 去中心化交易所
现实情况是期望代币可以在去中心化的交易场所中交换,这篇文章就是从一个简单案例来说明交换,流动性该如何实现。 我们需要先梳理一下,期望这个应用具备哪些功能:只用一个代币对建立交易场所交易收取 1% 的费用用户可以为 UseWeb3Token 添加或删除流动性为用户提供 LP 代币说明:实现会比这个例子复杂的多// SPDX-License-Identifier: SEE LICENSE IN LICENSE pragma solidity ^0.8.4; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract UseWeb3Exchange is ERC20 { address public useweb3TokenAddress; constructor(address useweb3TokenContract) ERC20("LP Token", "LP") { useweb3TokenAddress = useweb3TokenContract; } function getReserve() publ...
初识 Solidity 和 OpenZeppelin
Solidity 是一种面向对象的高级静态语言,用于实现智能合约,运行于 以太坊虚拟机,它支持继承,库和自定义类型等。pragma solidity ^0.8.0; contract HelloWorld { } Solidity 有三种类型的变量,熟悉它是因为变量的范围是由它们声明的位置所决定的:Local在函数内部声明且不存储在区块链上State存储在区块链上Global提供区块链相关的信息,它在运行时由以太坊虚拟机注入包括交易发送者,区块时间戳,区块哈希等全局变量语法知识,请阅读:https://docs.soliditylang.org/en/v0.8.9/index.html初识 OpenZeppelin说明:OpenZeppelin 是一家以太坊安全公司,其为流行的智能合约标准开发了一组合约,这些合约经过了大量的测试和安全审查,所以如果我们需要实现这些标准合约时,应该尝试找到 OpenZeppelin 提供的合约,而不是重头开始重写整个标准。https://github.com/OpenZeppelin/openzeppelin-contracts在 useweb3 ...
Dev

Subscribe to icepy

Subscribe to icepy
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers


首先需要感谢 harry 和 Antalpha-Labs提供的支持, 给予了三个月的赞助资金,用于研究和开发游戏收支统计数据账本。它的灵感来源于自身的需求,做为一名 TreasureDAO 游戏玩家,个人很难统计在游戏上的花费和收入的实际情况,因此需要一个应用可以自动的将收入和支出统计出来。
TreasureDAO 最开始是 loot 生态上的一个 NFT 项目,后独立成为一个共享资产、资源、社区和基础设施的去中心化游戏生态系统,在 2021年冷启动时可以使用 loot 或 n 来挖其代币MAGIC,1000 MAGIC/day,并且在迁移至 arb 的过程中对迁移的代币进行了 NFT 的空投,也就是 bridgeworld 的创世军团,同时推出的还有一个叫 smol 的元宇宙,目前除必要的基础设施外,treasure dao 也孵化了很多游戏项目,如最近大热的 beacon。
bridgeworld
smolverse
tales of elleria
beacon
battlefly
donkeys
toadstoolz
knights of the ether
life
samurise
realm
目前游戏账本的原型是基于 tales of elleria 来进行研究和开发的,这意味着一款游戏适配都需要配套的脚本去分解游戏并实现更新,由于这些游戏的资源交换都是基于 trove 和 magicswap 因此我们的首要研究方向就是分解 tales of elleria 的收支来源和 trove,magicswap 的交易合约,基于此方向,tales of elleria 的收支来源分解如下:
在哥布林平原获得 $ELM 和 文物(NFT)
将 $ELM 提取到链上,在 magicswap 上出售(反之是购买)
将文物或英雄提取到链上,在 trove 上出售(反之是购买)
我们从交易合约的创建高度开始往上遍历 Event,通过 Event 分解一部分数据,然后通过 input data 内的数据来进行游戏的分类,更近一步的确定收入和支出情况,结构化之后存储在数据库中,大约同步完 tales of elleria 需要一天左右的时间。



对于后续的同步来说,我们将同步的高度存储在本地,因此每一次启动都会从这个高度开始,做为一项研究,它达到了目的,不过未来它还有很大的空间去改进,比如变成后端自动化,以及对 Event 进行监听,这些与 DevOps 一起构成了系统工程,因此不在这里近复述。
https://github.com/Antalpha-Labs/ledger
就像 TreasureDAO 的长期愿景是充当区块链上的任天堂,而这个游戏账本应用长期的愿景是可以充当区块链上最丰富的游戏领域统计账本,为打金农民,工作室,以及游戏玩家提供一站式的统计数据,短期目标则是覆盖 Treasure DAO 的所有游戏,与它一起成长。
首先需要感谢 harry 和 Antalpha-Labs提供的支持, 给予了三个月的赞助资金,用于研究和开发游戏收支统计数据账本。它的灵感来源于自身的需求,做为一名 TreasureDAO 游戏玩家,个人很难统计在游戏上的花费和收入的实际情况,因此需要一个应用可以自动的将收入和支出统计出来。
TreasureDAO 最开始是 loot 生态上的一个 NFT 项目,后独立成为一个共享资产、资源、社区和基础设施的去中心化游戏生态系统,在 2021年冷启动时可以使用 loot 或 n 来挖其代币MAGIC,1000 MAGIC/day,并且在迁移至 arb 的过程中对迁移的代币进行了 NFT 的空投,也就是 bridgeworld 的创世军团,同时推出的还有一个叫 smol 的元宇宙,目前除必要的基础设施外,treasure dao 也孵化了很多游戏项目,如最近大热的 beacon。
bridgeworld
smolverse
tales of elleria
beacon
battlefly
donkeys
toadstoolz
knights of the ether
life
samurise
realm
目前游戏账本的原型是基于 tales of elleria 来进行研究和开发的,这意味着一款游戏适配都需要配套的脚本去分解游戏并实现更新,由于这些游戏的资源交换都是基于 trove 和 magicswap 因此我们的首要研究方向就是分解 tales of elleria 的收支来源和 trove,magicswap 的交易合约,基于此方向,tales of elleria 的收支来源分解如下:
在哥布林平原获得 $ELM 和 文物(NFT)
将 $ELM 提取到链上,在 magicswap 上出售(反之是购买)
将文物或英雄提取到链上,在 trove 上出售(反之是购买)
我们从交易合约的创建高度开始往上遍历 Event,通过 Event 分解一部分数据,然后通过 input data 内的数据来进行游戏的分类,更近一步的确定收入和支出情况,结构化之后存储在数据库中,大约同步完 tales of elleria 需要一天左右的时间。



对于后续的同步来说,我们将同步的高度存储在本地,因此每一次启动都会从这个高度开始,做为一项研究,它达到了目的,不过未来它还有很大的空间去改进,比如变成后端自动化,以及对 Event 进行监听,这些与 DevOps 一起构成了系统工程,因此不在这里近复述。
https://github.com/Antalpha-Labs/ledger
就像 TreasureDAO 的长期愿景是充当区块链上的任天堂,而这个游戏账本应用长期的愿景是可以充当区块链上最丰富的游戏领域统计账本,为打金农民,工作室,以及游戏玩家提供一站式的统计数据,短期目标则是覆盖 Treasure DAO 的所有游戏,与它一起成长。
No activity yet