
Telegram Mini Apps电报小程序开发文档
2022年4月Telegram的MiniApp(之前为Web App,6.0版后改名为Mini App)上线,Mini Apps(简称 TMAs,中文名:小程序)很可能会变成一个类似于微信小程序的平台,使得Telegram 更接近一个“超级应用”。目前,电报小程序推出不久,版本还在快速迭代中,开发人员也较少,但电报庞大的用户群基础很可能会产生大量的小程序。 作为Web3的开发者,大多数应用都是前端和区块链直接交互,但电报bot只支持消息通过电报服务和bot所在的服务器进行交互,导致大量DAPP无法给到用户可靠的账户安全保障。电报小程序在电报应用中“嵌入”了Web前端应用,通过它与区块链和智能合约直接交互,将账户信息通过安全策略在本地进行保存,大幅度提高账户安全性。同时,将与区块链无关的业务逻辑通过bot与服务器进行交互,提高用户体验。 所以,Telegram+小程序+bot+智能合约的开发模式,可能会称为一种全新的Web3开发技术栈。事实上,从时间上看,电报小程序与TON链同时推出,也可能有这方面的用意。但是这种开发模式不仅仅适用于电报和TON链,更适用于用户量庞大的各种EVM链...

使用Session Key委托服务器安全的操作抽象账户
最近电报自动交易机器人和各种SocialFi很火,这些产品给用户带来了类似Web2的良好用户体验。但火爆的背后,也发生了多起安全事件。为此,很多新上线的平台开始使用更先进的账户安全技术来保护用户资产,比如@tomo_social使用了ERC-4337账户抽象技术,有些电报机器人采用了MPC钱包技术。 尽管账户抽象钱包(AA钱包)已经具备了零gas费(服务商代付gas费),多签,社交登录等强大功能,并大幅度提升用户体验,但是因为ERC-4337属于在现有以太坊共识基础上的补丁方案,与链交互签名时仍旧需要私钥,各种方案只是在私钥保存和签名环节采取各种安全措施。 所以,虽然很多代用户签名交互的电报机器人,SocialFi平台通过MPC钱包或AA钱包来保障客户的私钥安全,但实际上,因为最终还是要通过钱包主私钥来进行签名,本质上还是私钥的验证模式,所以仍旧有私钥泄露的风险。 今天看到AA钱包创新项目ZeroDev的Session Key(对话密钥)解决方案,可以让AA钱包授权生成一个或若干个Session Key(也是一种私钥),来受控的执行经授权的操作。这种授权模式有别于ERC-20或E...
FERC20:一个更公平的ERC20方案
简介我们非常高兴地宣布,erc20.cash 上线了。这是一个更公平的的ERC20代币方案,我们将它命名为:Fair ERC-20,简称FERC20。 今年3月8日,BRC20代币在比特币链上通过Ordinals部署成功,在短短一两个月内吸引了大量关注和资金的参与。BRC20代币的成功得益于以下几个原因:简洁的Ordinals协议使得BRC20发行方无法在代币上做过多的编程,避免了在以太坊合约中各种安全风险和一些自私的设计。人人平等的铸币权。BRC20的发行方或项目团队,无法像在以太坊智能合约中通常做的那样,给自己或相关利益方预留一部分免费(低价)代币。在铸造BRC20时,所有人都站在同一起跑线上,即使发行方和团队也是如此。比特币的UTXO机制和低性能,让很多具有速度优势的智能合约机器人无法在比特币网络上工作,从而防止了通过技术手段获得比正常参与者更大的优势以及由此造成的不公平。上述原因使得BRC20对社区参与者来说,更公平,从而吸引了更多人参与。 但是,即使如此,有个非常有意思的现象是:大多数以太坊社区的成员尚未参与BRC20。 所以,我们想,是否能将BRC20的公平发售(Fa...

Telegram Mini Apps电报小程序开发文档
2022年4月Telegram的MiniApp(之前为Web App,6.0版后改名为Mini App)上线,Mini Apps(简称 TMAs,中文名:小程序)很可能会变成一个类似于微信小程序的平台,使得Telegram 更接近一个“超级应用”。目前,电报小程序推出不久,版本还在快速迭代中,开发人员也较少,但电报庞大的用户群基础很可能会产生大量的小程序。 作为Web3的开发者,大多数应用都是前端和区块链直接交互,但电报bot只支持消息通过电报服务和bot所在的服务器进行交互,导致大量DAPP无法给到用户可靠的账户安全保障。电报小程序在电报应用中“嵌入”了Web前端应用,通过它与区块链和智能合约直接交互,将账户信息通过安全策略在本地进行保存,大幅度提高账户安全性。同时,将与区块链无关的业务逻辑通过bot与服务器进行交互,提高用户体验。 所以,Telegram+小程序+bot+智能合约的开发模式,可能会称为一种全新的Web3开发技术栈。事实上,从时间上看,电报小程序与TON链同时推出,也可能有这方面的用意。但是这种开发模式不仅仅适用于电报和TON链,更适用于用户量庞大的各种EVM链...

使用Session Key委托服务器安全的操作抽象账户
最近电报自动交易机器人和各种SocialFi很火,这些产品给用户带来了类似Web2的良好用户体验。但火爆的背后,也发生了多起安全事件。为此,很多新上线的平台开始使用更先进的账户安全技术来保护用户资产,比如@tomo_social使用了ERC-4337账户抽象技术,有些电报机器人采用了MPC钱包技术。 尽管账户抽象钱包(AA钱包)已经具备了零gas费(服务商代付gas费),多签,社交登录等强大功能,并大幅度提升用户体验,但是因为ERC-4337属于在现有以太坊共识基础上的补丁方案,与链交互签名时仍旧需要私钥,各种方案只是在私钥保存和签名环节采取各种安全措施。 所以,虽然很多代用户签名交互的电报机器人,SocialFi平台通过MPC钱包或AA钱包来保障客户的私钥安全,但实际上,因为最终还是要通过钱包主私钥来进行签名,本质上还是私钥的验证模式,所以仍旧有私钥泄露的风险。 今天看到AA钱包创新项目ZeroDev的Session Key(对话密钥)解决方案,可以让AA钱包授权生成一个或若干个Session Key(也是一种私钥),来受控的执行经授权的操作。这种授权模式有别于ERC-20或E...
FERC20:一个更公平的ERC20方案
简介我们非常高兴地宣布,erc20.cash 上线了。这是一个更公平的的ERC20代币方案,我们将它命名为:Fair ERC-20,简称FERC20。 今年3月8日,BRC20代币在比特币链上通过Ordinals部署成功,在短短一两个月内吸引了大量关注和资金的参与。BRC20代币的成功得益于以下几个原因:简洁的Ordinals协议使得BRC20发行方无法在代币上做过多的编程,避免了在以太坊合约中各种安全风险和一些自私的设计。人人平等的铸币权。BRC20的发行方或项目团队,无法像在以太坊智能合约中通常做的那样,给自己或相关利益方预留一部分免费(低价)代币。在铸造BRC20时,所有人都站在同一起跑线上,即使发行方和团队也是如此。比特币的UTXO机制和低性能,让很多具有速度优势的智能合约机器人无法在比特币网络上工作,从而防止了通过技术手段获得比正常参与者更大的优势以及由此造成的不公平。上述原因使得BRC20对社区参与者来说,更公平,从而吸引了更多人参与。 但是,即使如此,有个非常有意思的现象是:大多数以太坊社区的成员尚未参与BRC20。 所以,我们想,是否能将BRC20的公平发售(Fa...

Subscribe to jackygu's blog

Subscribe to jackygu's blog
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers


The Launchpad voting module of Ferc20 V3 is an important and innovative function. Many people still do not understand the details and have misunderstandings about it. Therefore, this article is written to explain it.
There are several misunderstandings and questions that are frequently asked:
Launchpad is a business of centralized exchanges, so why is a decentralized launch platform implementing such a feature?
One of the functions of Launchpad is to prevent malicious token duplication by removing tokens with malicious intent in the background. Why is it so complicated?
Is it necessary to go through Launchpad voting in order to deploy a token?
The process seems too complex, and it is still not clear.
If you also have these questions, this article will help you.
Ferc20 is a fully decentralized platform based on blockchain and smart contract technology. This makes it impossible to implement various management methods commonly used in centralized platforms.
The implementation of Launchpad voting serves several purposes:
Launchpad voting is a community governance mechanism aimed at involving community members in decision-making and managing the platform's development. Through voting, community members can express their opinions and preferences, providing input and decision-making basis for important platform decisions and feature improvements.
Launchpad voting plays a role in preventing malicious behavior during token deployment and platform management. Through the voting mechanism, the community can review and supervise the deployment and actions of tokens, preventing the occurrence of maliciously duplicated tokens and ensuring the security and trustworthiness of the platform.
It is well known that on blockchain networks like Ethereum, tokens with the same name (but different addresses) can be deployed without any restrictions.
However, in this case, if a user wants to deploy a token with a name that has already been used, they need to go through a community voting process. If the vote is successful, the applicant will have the right to deploy a token with the same name again. At the same time, this newly deployed token will be displayed with a "blue label" and a community rating to distinguish it from other tokens with the same name that have already been deployed.

Tokens with a "blue label" will not be able to be redeployed.
Also, by Launchpad voting and obtaining support from the $ferc community, the token will receive a "blue label," which prevents others from deploying tokens with the same name. This approach protects names that have established branding and recognition. It allows for the "locking" of the name before a deployment plan is finalized, preventing others from using it.
The Launchpad voting mechanism makes the platform's decision-making process more transparent and open. Community members can access information about each voting issue, including the content, participants, and results, thereby increasing trust and participation in platform governance.
Launchpad voting provides an opportunity for platform innovation. Community members can propose new features or improvement suggestions through voting, thereby driving the development and evolution of the platform.
In summary, the implementation of Launchpad voting facilitates community governance, prevents malicious behavior, enhances transparency, and encourages innovation, thereby promoting the development and healthy operation of the platform.
Although both are called Launchpad, they are fundamentally different.
The Launchpad of Ferc20 V3 is a voting system designed to obtain consensus from the Ferc community for projects. However, even without community consensus, projects can still be deployed as it is completely permissionless.
This is different from the Launchpad of centralized exchanges(CEX) and IEO, where projects cannot be listed without approval from the platform operator.
Voting base: The current voting base varies on different chains:
Ethereum: 1.5 million votes
Arbitrum: 300,000 votes
Optimism: 150,000 votes
BSC: 150,000 votes
Polygon: 150,000 votes
The passing rate is set at 30%.
The voting base and passing rate on different chains may be adjusted. The adjustments will be made through DAO voting, and further governance details will be announced later.
Note: The native $ferc token exists only on Ethereum with a total supply of 10 million. $ferc tokens on other chains are obtained by bridging from Ethereum to the target chain. After bridging, $ferc tokens can be staked to obtain votes, and the staking can be released at any time.
You can use the Nerve cross-chain bridge at: https://bridge.nerve.network.
Ethereum: 0x2eCBa91da63C29EA80Fbe7b52632CA2d1F8e5Be0
Arbitrum: 0xC365B8Cbde40cB902CaE1BDDf425a4c9E1f60d3f
Optimism: 0xb055ffca6ec2849a5700fa851b28ff636c20b6e0
BSC: 0xC365B8Cbde40cB902CaE1BDDf425a4c9E1f60d3f
Polygon: 0xC365B8Cbde40cB902CaE1BDDf425a4c9E1f60d3f

Any account initiating a vote is required to stake a certain amount of $ferc (tentatively set at 1000, subject to change through community voting). This staking does not incur any loss, and regardless of the success or failure of the vote, the staked amount will be fully refunded to the applicant.
Before voting, participants need to stake $ferc and receive voting power in a 1:1 ratio based on the staked amount. Please refer to the diagram below:

Regarding the process of staking $ferc to obtain voting power, please note the following:
Two transactions need to be completed during the staking process:
The first transaction is the authorization (Approve). For security purposes, please do not authorize an amount exceeding what you have staked. Never grant unlimited authorization.
The second transaction is the staking operation.
You can redeem your staked $ferc at any time and receive it back in a 1:1 ratio.
After completing the staking process, you will see the following information:


Click on "Vote" button and in the pop-up window, enter the number of votes you want to allocate to this application. Confirm and complete the interaction with the contract.
Regarding voting, please note the following:
You can allocate votes to different projects.
If you want to add votes to a specific application, you must first withdraw the previously cast votes and then vote again.
If the vote does not receive the support of the $ferc community within the voting validity period (set by the applicant but not exceeding 10 days), anyone can deploy using the name of that application after the voting expires.
Note: Tokens deployed in this way do not have the "blue checkmark" verification.
In this case, anyone can deploy using the name of that application.
Note: Tokens deployed in this way do not have the "blue checkmark" verification.
Scenario 1: Voters can voluntarily revoke their votes at any time.
Scenario 2: If the vote does not pass or if the vote passes but the tokens are not deployed within the deployment validity period, the votes will be collectively revoked in the following cases:
A. If someone successfully deploys tokens using the same name, the deployer will pay the gas fees to revoke those votes and return the application deposit to the applicant.
B. A "Close Vote" button will appear in the voting window, and anyone can close the vote, revoke all the votes, and return the application deposit to the applicant. However, the operator will have to pay the gas fees to revoke those votes.
Scenario 3: If neither anyone deploys tokens using the same name nor anyone closes the vote voluntarily, the vote will remain active until one of the above two cases occurs. In this scenario, the voter must revoke their own vote. Additionally, the 1000 $ferc staked by the original applicant cannot be refunded until someone (including the applicant themselves) voluntarily closes the vote.
Scenario 4: If the deployer wishes to conduct airdrops or other activities to voters through a whitelist, they must inform the voters that they should not revoke their votes until the statistics are complete. Once a vote is revoked, it cannot be counted.
As long as the name is not on the reserved name list and it is not a "blue checkmark" token name, it can be deployed.
Ferc20 V3 is a permissionless non-ownable platform.
The advantage is simplicity, as tokens can be directly deployed.
The disadvantage is the possibility of encountering tokens with the same name and marked as "blue checkmark." If a token with a certain brand is deployed first, it may face disputes of counterfeiting.
No, they cannot.
The "blue checkmark" is written into the token contract and recorded on the blockchain during token deployment. Since the token contract is a non-ownable smart contract, no attributes can be modified after deployment. If it were possible to change it to a "blue checkmark" after deployment, the token contract would no longer be a non-ownable contract. Since both cannot be achieved simultaneously, the more important aspect is chosen while the less important aspect is abandoned.
The Launchpad voting module of Ferc20 V3 is an important and innovative function. Many people still do not understand the details and have misunderstandings about it. Therefore, this article is written to explain it.
There are several misunderstandings and questions that are frequently asked:
Launchpad is a business of centralized exchanges, so why is a decentralized launch platform implementing such a feature?
One of the functions of Launchpad is to prevent malicious token duplication by removing tokens with malicious intent in the background. Why is it so complicated?
Is it necessary to go through Launchpad voting in order to deploy a token?
The process seems too complex, and it is still not clear.
If you also have these questions, this article will help you.
Ferc20 is a fully decentralized platform based on blockchain and smart contract technology. This makes it impossible to implement various management methods commonly used in centralized platforms.
The implementation of Launchpad voting serves several purposes:
Launchpad voting is a community governance mechanism aimed at involving community members in decision-making and managing the platform's development. Through voting, community members can express their opinions and preferences, providing input and decision-making basis for important platform decisions and feature improvements.
Launchpad voting plays a role in preventing malicious behavior during token deployment and platform management. Through the voting mechanism, the community can review and supervise the deployment and actions of tokens, preventing the occurrence of maliciously duplicated tokens and ensuring the security and trustworthiness of the platform.
It is well known that on blockchain networks like Ethereum, tokens with the same name (but different addresses) can be deployed without any restrictions.
However, in this case, if a user wants to deploy a token with a name that has already been used, they need to go through a community voting process. If the vote is successful, the applicant will have the right to deploy a token with the same name again. At the same time, this newly deployed token will be displayed with a "blue label" and a community rating to distinguish it from other tokens with the same name that have already been deployed.

Tokens with a "blue label" will not be able to be redeployed.
Also, by Launchpad voting and obtaining support from the $ferc community, the token will receive a "blue label," which prevents others from deploying tokens with the same name. This approach protects names that have established branding and recognition. It allows for the "locking" of the name before a deployment plan is finalized, preventing others from using it.
The Launchpad voting mechanism makes the platform's decision-making process more transparent and open. Community members can access information about each voting issue, including the content, participants, and results, thereby increasing trust and participation in platform governance.
Launchpad voting provides an opportunity for platform innovation. Community members can propose new features or improvement suggestions through voting, thereby driving the development and evolution of the platform.
In summary, the implementation of Launchpad voting facilitates community governance, prevents malicious behavior, enhances transparency, and encourages innovation, thereby promoting the development and healthy operation of the platform.
Although both are called Launchpad, they are fundamentally different.
The Launchpad of Ferc20 V3 is a voting system designed to obtain consensus from the Ferc community for projects. However, even without community consensus, projects can still be deployed as it is completely permissionless.
This is different from the Launchpad of centralized exchanges(CEX) and IEO, where projects cannot be listed without approval from the platform operator.
Voting base: The current voting base varies on different chains:
Ethereum: 1.5 million votes
Arbitrum: 300,000 votes
Optimism: 150,000 votes
BSC: 150,000 votes
Polygon: 150,000 votes
The passing rate is set at 30%.
The voting base and passing rate on different chains may be adjusted. The adjustments will be made through DAO voting, and further governance details will be announced later.
Note: The native $ferc token exists only on Ethereum with a total supply of 10 million. $ferc tokens on other chains are obtained by bridging from Ethereum to the target chain. After bridging, $ferc tokens can be staked to obtain votes, and the staking can be released at any time.
You can use the Nerve cross-chain bridge at: https://bridge.nerve.network.
Ethereum: 0x2eCBa91da63C29EA80Fbe7b52632CA2d1F8e5Be0
Arbitrum: 0xC365B8Cbde40cB902CaE1BDDf425a4c9E1f60d3f
Optimism: 0xb055ffca6ec2849a5700fa851b28ff636c20b6e0
BSC: 0xC365B8Cbde40cB902CaE1BDDf425a4c9E1f60d3f
Polygon: 0xC365B8Cbde40cB902CaE1BDDf425a4c9E1f60d3f

Any account initiating a vote is required to stake a certain amount of $ferc (tentatively set at 1000, subject to change through community voting). This staking does not incur any loss, and regardless of the success or failure of the vote, the staked amount will be fully refunded to the applicant.
Before voting, participants need to stake $ferc and receive voting power in a 1:1 ratio based on the staked amount. Please refer to the diagram below:

Regarding the process of staking $ferc to obtain voting power, please note the following:
Two transactions need to be completed during the staking process:
The first transaction is the authorization (Approve). For security purposes, please do not authorize an amount exceeding what you have staked. Never grant unlimited authorization.
The second transaction is the staking operation.
You can redeem your staked $ferc at any time and receive it back in a 1:1 ratio.
After completing the staking process, you will see the following information:


Click on "Vote" button and in the pop-up window, enter the number of votes you want to allocate to this application. Confirm and complete the interaction with the contract.
Regarding voting, please note the following:
You can allocate votes to different projects.
If you want to add votes to a specific application, you must first withdraw the previously cast votes and then vote again.
If the vote does not receive the support of the $ferc community within the voting validity period (set by the applicant but not exceeding 10 days), anyone can deploy using the name of that application after the voting expires.
Note: Tokens deployed in this way do not have the "blue checkmark" verification.
In this case, anyone can deploy using the name of that application.
Note: Tokens deployed in this way do not have the "blue checkmark" verification.
Scenario 1: Voters can voluntarily revoke their votes at any time.
Scenario 2: If the vote does not pass or if the vote passes but the tokens are not deployed within the deployment validity period, the votes will be collectively revoked in the following cases:
A. If someone successfully deploys tokens using the same name, the deployer will pay the gas fees to revoke those votes and return the application deposit to the applicant.
B. A "Close Vote" button will appear in the voting window, and anyone can close the vote, revoke all the votes, and return the application deposit to the applicant. However, the operator will have to pay the gas fees to revoke those votes.
Scenario 3: If neither anyone deploys tokens using the same name nor anyone closes the vote voluntarily, the vote will remain active until one of the above two cases occurs. In this scenario, the voter must revoke their own vote. Additionally, the 1000 $ferc staked by the original applicant cannot be refunded until someone (including the applicant themselves) voluntarily closes the vote.
Scenario 4: If the deployer wishes to conduct airdrops or other activities to voters through a whitelist, they must inform the voters that they should not revoke their votes until the statistics are complete. Once a vote is revoked, it cannot be counted.
As long as the name is not on the reserved name list and it is not a "blue checkmark" token name, it can be deployed.
Ferc20 V3 is a permissionless non-ownable platform.
The advantage is simplicity, as tokens can be directly deployed.
The disadvantage is the possibility of encountering tokens with the same name and marked as "blue checkmark." If a token with a certain brand is deployed first, it may face disputes of counterfeiting.
No, they cannot.
The "blue checkmark" is written into the token contract and recorded on the blockchain during token deployment. Since the token contract is a non-ownable smart contract, no attributes can be modified after deployment. If it were possible to change it to a "blue checkmark" after deployment, the token contract would no longer be a non-ownable contract. Since both cannot be achieved simultaneously, the more important aspect is chosen while the less important aspect is abandoned.
No activity yet