基于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字符,这样的话只有特定的组合是可用的,并且有些字母不允许使用,例如l
和i
,或则o
和0
。在这个示例中你可以看到我已经为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怎么快速制作山寨币"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!