千家信息网

基于TurtleCoin怎么快速制作山寨币

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本篇内容介绍了"基于TurtleCoin怎么快速制作山寨币"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2024年11月11日基于TurtleCoin怎么快速制作山寨币

本篇内容介绍了"基于TurtleCoin怎么快速制作山寨币"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、选一个时髦的名字

如果没有一个时髦的名字,怎么会是一个好的山寨币?我花了不少时间尝试不同的选择,最终我决定冒着重名的风险使用"Athena"。现在让我们到Github上建立同名的机构以便显得更正式、更官方:

2、克隆TurtleCoin仓库

现在回到TurtleCoin主仓库,使用右上角的fork按钮,将分叉的仓库分配给我们刚才创建的athena-network机构。

刚fork下来仓库的时候,名字还是TurtleCoin,因此我们需要在设置里将其改名为"athena"。 现在我们的仓库建好了:athena github。

3、经济考量与发行逻辑

接下来的部分就是核心所在,我们将定义区块链网络如何运作。

3.1 出块周期

无论是否存在交易,TurtleCoin都会每隔30秒出一区块。对于Athena而言,我们希望以比较慢的速度出比较大的区块,以便作为其他区块链的结算通道。因此我们可以设置为1小时出一块:

找到这一行:

const uint64_t DIFFICULTY_TARGET = 30; // seconds

修改如下:

const uint64_t DIFFICULTY_TARGET = 3600; // seconds

3.2 钱包地址前缀

关于这一点只有一个要求,而且非常宽松。基本上如果你希望别人认真对待你的币,只要别选和其他网络类似的前缀就好了。

前缀只能用CN Base58字符,这样的话只有特定的组合是可用的,并且有些字母不允许使用,例如li,或则o0。在这个示例中你可以看到我已经为athena币生成了钱包前缀,这样最终生成的地址将超过100字符长。

找到这一行:

const uint64_t CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX = 3914525;

修改为:

const uint64_t CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX = 0x18845CFCA;

3.3 供应总量

我们一开始决定发1万亿个Athena币,小数点后两位,这个发行量和前10大网络比起来很小了,不过不管怎样,人们还是会抱怨币"多如牛毛"。这次我们发行2100万个币试试。

让我们用32位整数上限2,147,483,647,这样我们最终有了21,474,836.47个Athena代币。

找到这一行:

const uint64_t MONEY_SUPPLY = UINT64_C(100000000000000);

修改为:

const uint64_t MONEY_SUPPLY = UINT64_C(2147483647);

3.4 挖矿难度

对于这个参数没有太多的考虑,我们直接使用zpamtree建议的参数,为块0使用Zawy Algo 1,块1启用LWMA-2开关。

找到这两行:

const uint32_t ZAWY_DIFFICULTY_BLOCK_INDEX = 187000;const uint64_t LWMA_2_DIFFICULTY_BLOCK_INDEX = 620000;

修改为:

const uint32_t ZAWY_DIFFICULTY_BLOCK_INDEX = 0;const uint64_t LWMA_2_DIFFICULTY_BLOCK_INDEX = 1;

3.5 释放速度因子

释放速度因子是山寨币的另一个魔术数字,这个数值越小,币释放出来的速度就越快:

const unsigned EMISSION_SPEED_FACTOR = 25;

该参数必须大于8,否则你就会有麻烦。因此我们选择紧接下来的最快速的数字9:

const unsigned EMISSION_SPEED_FACTOR = 25;

3.6 小数位数

我喜欢将小数位数设置为2:

const size_t CRYPTONOTE_DISPLAY_DECIMAL_POINT = 2;

3.7 手续费

手续费是网络中矛盾的存在。你希望手续费高一点这样人们就不会制造垃圾交易,但你又希望手续费尽可能的低,这样真正需要的人们不会为转账的高成本困扰。

综合各方面考虑,我们设置为10000个原子单位。

找到这行:

const uint64_t MINIMUM_FEE = UINT64_C(10);

修改为:

const uint64_t MINIMUM_FEE = UINT64_C(10000);

3.8 混合

混合是TurtleCoin保护交易私有化的手段。我们使用最小化措施来保持区块简洁同时提供一定的安全。

找到这些行:

const uint64_t MINIMUM_MIXIN_V1                              = 0;const uint64_t MAXIMUM_MIXIN_V1                              = 100;const uint64_t MINIMUM_MIXIN_V2                              = 7;const uint64_t MAXIMUM_MIXIN_V2                              = 7;const uint32_t MIXIN_LIMITS_V1_HEIGHT                        = 440000;const uint32_t MIXIN_LIMITS_V2_HEIGHT                        = 620000;

替换为下面的值:

const uint64_t MINIMUM_MIXIN_V1                              = 0;const uint64_t MAXIMUM_MIXIN_V1                              = 3;const uint64_t MINIMUM_MIXIN_V2                              = 3;const uint64_t MAXIMUM_MIXIN_V2                              = 3;const uint32_t MIXIN_LIMITS_V1_HEIGHT                        = 0;const uint32_t MIXIN_LIMITS_V2_HEIGHT                        = 1;

3.9 dust阈值

我们简单的将这个值保留为0。

3.10 分叉高度

如果我们每小时出一块,那么在6个月后,大约会出24*18 = 4392块。我们计划每6个月分叉一次,用来升级软件,因此预定义的分叉高度大致如下:

const uint64_t FORK_HEIGHTS[] ={  4392,  8684,  13176,  17568};

看起来很复杂,其实很简单,就是设置一下升级周期。

找到这行:

const uint8_t CURRENT_FORK_INDEX = FORK_HEIGHTS_SIZE == 0 ? 0 : 3;

修改为:

const uint8_t CURRENT_FORK_INDEX = FORK_HEIGHTS_SIZE == 0 ? 0 : 0;

3.11 修改名称

已经接近修改工作的尾声了,我们现在修改要生成的程序名。

找到这行:

const char CRYPTONOTE_NAME[] = "TurtleCoin";

修改为:

const char CRYPTONOTE_NAME[] = "Athena";

"基于TurtleCoin怎么快速制作山寨币"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0