Bitcoin Forum
June 21, 2024, 06:05:36 AM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: 自建虚拟货币教程:如何发行虚拟货币 (新人求Merit文)  (Read 320 times)
zaishengyuan (OP)
Jr. Member
*
Offline Offline

Activity: 84
Merit: 4


View Profile
February 01, 2018, 03:51:40 AM
Last edit: February 01, 2018, 12:14:59 PM by zaishengyuan
Merited by Barcode_ (3), cherry11800 (1)
 #1

准备工作

1.新建一个github账号,点击这里注册:https://github.com/
2.fork虚拟货币的源码,点击这里fork它。https://github.com/cryptonotefoundation/cryptonote
3.购买一到两台给予Ubuntu系统的独立服务器作为节点,至少需要2G的内存。

命名货币

1.对于虚拟货币来说,一个独一无二的名字才算是一个好名字。为了确保其独一性,请在Google和Map of Coins中检查一下。
2.将想好的名字加入到你fork的源码中,你需要操作三个地方,以下假设furiouscoin为虚拟货币的名字。
(1)在src/CryptoNoteConfig.h中的CRYPTONOTE_NAME 你需要将furiouscoin填入冒号之间,如下:

Code:
const char CRYPTONOTE_NAME[] = "furiouscoin";

(2)在src/CMakeList.txt中的set_property(TARGET daemon PROPERTY OUTPUT_NAME"") 你需要将furiouscoin填入冒号之间,如下:

Code:
set_property(TARGET daemon PROPERTY OUTPUT_NAME "furiouscoind")
(3)最重要的是,你需要将你fork的repository名字给改过来。

货币发行政策

1.货币发行量
作为一个虚拟货币,事先规定发行总量是必须的。你可以使用(uint64_t)(-1)来设置(一共有18446744073709551616个),也可以直接设置一个数字,比如UINT64_C(858986905600000000)这样。以(uint64_t)(-1)为例,在src/CryptoNoteConfig.h中修改为:

Code:
const uint64_t MONEY_SUPPLY = (uint64_t)(-1);
2.货币发行曲线
默认的策略是随着发行量的增加,每个区块的奖励都会有轻微的减少,而不是像比特币那样每四年减半。EMISSION_SPEED_FACTOR这个参数是用来定义发行曲线的,也就是计算区块奖励。 以18这一较平均的数为例,在src/CryptoNoteConfig.h中修改为:

Code:
const unsigned EMISSION_SPEED_FACTOR = 18;
3.目标难度
目标难度是区块之间的理想时间间隔,一旦区块之间的平均时间小于目标难度,那么整体的难度就将上升。目标难度是以秒为计算单位。
目标难度会对虚拟货币造成以下的表现:
(1)交易处理速度:区块之间的时间越长,事务确认越慢。
(2)发行速度:区块之间的时间越长,发行速度越慢。
(3)孤立率:更快的区块链将产生更高的独立率。
常见的目标难度在60-120秒之间,以120为例,在src/CryptoNoteConfig.h中修改为:

Code:
const uint64_t DIFFICULTY_TARGET = 120;
4.区块奖励公式
如果你不满意默认的区块奖励方式,你也可以改变它。具体的方法在src/CryptoNoteCore/Currency.cpp中:
bool Currency::getBlockReward(size_t medianSize, size_t currentBlockSize, uint64_t alreadyGeneratedCoins, uint64_t fee, uint64_t& reward, int64_t& emissionChange) const
此功能由两个部分组成:
(1)基础区块奖励
uint64_t baseReward = (m_moneySupply - alreadyGeneratedCoins) >> m_emissionSpeedFactor;
基础区块奖励将会直接影响货币发行曲线
(2)大区块惩罚计算
为了同时保护链不被泛滥交易攻击和提供有机网络增长,故设置了大区块惩罚计算。

货币发行计算

通过更改DIFFICULTY_TARGET和EMISSION_SPEED_FACTOR这两个参数,可以将虚拟货币的发行和比特就进行对比。比如,将DIFFICULTY_TARGET设置为21,将EMISSION_SPEED_FACTOR设置为120得到下图:


网络设置

1.P2P和RPC网络的端口
P2P端口被用来和其他设备进行互相通信,钱包和其他软件则使用RPC端口进行通信。建议使用不常用的端口赋给P2P和RPC,以避免出现端口占用的问题。常见端口请参阅speedguide.net,networksorcery.com和keir.net。以17236和18236为例,在src/CryptoNoteConfig.h中修改为:

Code:
const int P2P_DEFAULT_PORT = 17236;
const int RPC_DEFAULT_PORT = 18236;
2.网络身份认证
利用网络身份认证以避免多个虚拟货币的流量混淆,将在src/P2p/P2pNetworks.h中下列的参数改为随机数值:

const static boost::uuids::uuid CRYPTONOTE_NETWORK = { { 0xA1, 0x1A, 0xA1, 0x1A, 0xA1, 0x0A, 0xA1, 0x0A, 0xA0, 0x1A, 0xA0, 0x1A, 0xA0, 0x1A, 0xA1, 0x1A } };
3.种子节点
将服务器的IP地址添加到src/CryptoNoteConfig.h中的下列参数中,以111.11.11.11:17236和222.22.22.22:17236为例:

const std::initializer_list<const char*> SEED_NODES = {
  "111.11.11.11:17236",
  "222.22.22.22:17236",
};
交易费用及相关参数

1.最低交易费用
最低交易费用为零可能会导致交易泛滥,一般minimum_fee 100000是比较合适的。以100000为例,在src/CryptoNoteConfig.h中更改:

Code:
const uint64_t MINIMUM_FEE = 100000;
2.处罚自由区块
通过减少大于中等区块的区块奖励来保护链收到tx flooding影响,参数需要大于RYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE。以20000为例,在src/CryptoNoteConfig.h中更改:

Code:
const size_t CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE = 20000;
地址前缀

选择一个或几个字母以作为所有的货币公共地址的前缀。由于地址前缀规则是独有的,所以需要使用前缀生成器工具。点击这里查看。以0xe9为例,设置如下:

const uint64_t CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX = 0xe9; // 地址以"f"作为前缀。
起始区块

1.用一个空的源代码生成十六进制二进制文件。
在src/CryptoNoteConfig.h中的GENESIS不填写任何参数,如下:

Code:
const char GENESIS_COINBASE_TX_HEX[] = "";
2.启动守护进程以产出起始区块
通过添加--print-genesis-tx,产出起始区块的交易hash值,如下:
furiouscoind --print-genesis-tx
3.加入交易hash值
复制hash值到src/CryptoNoteConfig.h中GENESIS_COINBASE_TX_HEX,以013c01ff0001ffff...785a33d9ebdba68b0为例:
Code:
const char GENESIS_COINBASE_TX_HEX[] = "013c01ff0001ffff...785a33d9ebdba68b0";
4.重新编译的二进制文件
将所有的文件重新编译一遍,完成后你的虚拟货币就开始了!

代码参考cryptonote,完整代码请参阅github。
bigcancerhao
Newbie
*
Offline Offline

Activity: 72
Merit: 0


View Profile
February 01, 2018, 03:55:39 AM
 #2

去租个服务器就好了,也不贵,项目黄了就可以直接撤了。比买服务器省事多了。问题是自己发的币没有太大意义,又不是明星选手那样的级别。。
Phoenixpple
Member
**
Offline Offline

Activity: 153
Merit: 10


View Profile
February 01, 2018, 04:06:47 AM
 #3

看起来发个代币也不是多少难的事情,怪不得现在空气币那么多。还是要看清楚项目和团队,有实际应用价值的大家可以多关注下。
ethen0828
Full Member
***
Offline Offline

Activity: 416
Merit: 100


View Profile
February 01, 2018, 04:20:46 AM
 #4

天啦噜,这样也能教会如何做虚拟币?让我想起了小时候折纸飞机,已经到这程度了吗?这币圈太乱了。不过另外角度我们可以说,一个币技术并不难,营销推广才是最难的。
另外,虚拟币不具备一般等价物的属性,这点不同意。

★ ★ ★ ★ ★   DeepOnion    Anonymous and Untraceable Cryptocurrency    TOR INTEGRATED & SECURED   ★ ★ ★ ★ ★
› › › › ›  JOIN THE NEW AIRDROP ✈️        VERIFIED WITH DEEPVAULT  ‹ ‹ ‹ ‹ ‹
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬   ANN  WHITEPAPER  FACEBOOK  TWITTER  YOUTUBE  FORUM   ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
dumh
Member
**
Offline Offline

Activity: 182
Merit: 12


View Profile
February 01, 2018, 04:29:14 AM
 #5

看了这个教程,可以自己做一个电子币出来玩了
说的很详细,而且各种参数的配置也说的很清楚,等年后自己试一下能不能搞出来.

_____ DSTRA ▬ ● ▬ FROM COMMUNITY, COMES UNITY ▬ ● ▬ DSTRA _____
⚫● ▬▬▬▬▬▬▬   PRIVACY ▬▬  FAST  ▬▬ LOW FEES   ▬▬▬▬▬▬▬ ●⚫
●⚫ ▬▬ Twitter | Facebook | ANN | Discord | Website ▬▬ ⚫●
a16686191
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
February 01, 2018, 04:58:52 AM
 #6

这样每个人都可以搞一下以自己名字命名的数字货币。多好
Zsywt1024
Jr. Member
*
Offline Offline

Activity: 286
Merit: 8


View Profile
February 01, 2018, 05:34:26 AM
 #7

所以说现在的ICO项目很多都是陷阱,谢谢楼主分享的教程,可惜没有赞给你了
firstvava
Member
**
Offline Offline

Activity: 130
Merit: 10


View Profile
February 01, 2018, 05:39:19 AM
 #8

会做用处并不大,首先你得会写白皮书,会找噱头,有大佬站台,最好再找个矿池来站脚。最后就是在各大媒体一顿狂轰乱炸,保证你在私募阶段就抢破头。虽然是个垃圾。

★ ★ ★ ★ ★   DeepOnion  ✔  Anonymous and Untraceable Cryptocurrency  ✔  TOR INTEGRATED & SECURED   ★ ★ ★ ★ ★
› › › › ›  JOIN THE NEW AIRDROP ✈️    ★    ✔ VERIFIED WITH DEEPVAULT  ‹ ‹ ‹ ‹ ‹
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬   ANN  WHITEPAPER  FACEBOOK  TWITTER  YOUTUBE  FORUM   ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Alan_zi1
Full Member
***
Offline Offline

Activity: 280
Merit: 102


View Profile
February 01, 2018, 05:43:27 AM
 #9

其实目前最容易发行的币就是基于以太坊的erc20代币

   SEMUX   -   An innovative high-performance blockchain platform  
▬▬▬▬▬      Powered by Semux BFT consensus algorithm      ▬▬▬▬▬
Github    -    Discord    -    Twitter    -    Telegram    -    Get Free Airdrop Now!
enpz
Jr. Member
*
Offline Offline

Activity: 266
Merit: 3

Staker.network - POS Smart Contract ETH Token


View Profile
February 01, 2018, 09:22:40 AM
 #10

这个厉害的,估计现在好多都是用的类似这种方式,好多钱包就是改了个名,界面菜单完全一样。

STAKER.network ] ━━ [ The Next Proof-of-Stake Smart Contract Token
] ⚁ 100% 1st Year Interest [ ━━ ] ⚀ Free Airdrops [
MegaTurtle
Member
**
Offline Offline

Activity: 141
Merit: 10


View Profile
February 01, 2018, 09:29:36 AM
 #11

不错的教程,我过段时间试试

   ⚡⚡ PRiVCY ⚡⚡   ▂▃▅▆█ ✅ PRiVCY ($PRIV) is a new PoW/PoS revolutionary privacy project ● ☞ ✅ Best privacy crypto-market! ● █▆▅▃▂
  Own Your Privacy! ─────────────────║ WebsiteGithub  |  Bitcointalk  |  Twitter  |  Discord  |  Explorer ║─────────────────
        ✯✯✯✯✯                 ✈✈✈[Free Airdrop - Starts 9th June]✅[Bounty]✈✈✈ ║───────────║ Wallet ➢ ✓ Windows  |  ✓ macOS  |  ✓ Linux
ji23189455
Member
**
Offline Offline

Activity: 274
Merit: 15


View Profile
February 01, 2018, 12:26:58 PM
 #12

干货,现在好多这样的fork,所以国内禁止ico还是有一定的道理的,我们小韭菜要擦亮眼睛了!
NSM
Newbie
*
Offline Offline

Activity: 97
Merit: 0


View Profile
February 01, 2018, 12:40:53 PM
 #13

看起来相当精彩,不过对偏码不懂事,蒙差差 Huh
davis_as
Newbie
*
Offline Offline

Activity: 126
Merit: 0


View Profile
February 01, 2018, 03:13:23 PM
 #14

好文。学习了,收藏了。 可惜我没有merit.这样的好文,大佬们应该会给点。good luck!
zaishengyuan (OP)
Jr. Member
*
Offline Offline

Activity: 84
Merit: 4


View Profile
February 02, 2018, 07:21:04 AM
 #15

希望大佬们能给点赞
jgle
Member
**
Offline Offline

Activity: 85
Merit: 10


View Profile
February 02, 2018, 10:29:44 AM
 #16

当年这玩意价值2000啊 楼主 你个败家子  Grin Grin Grin
zaishengyuan (OP)
Jr. Member
*
Offline Offline

Activity: 84
Merit: 4


View Profile
February 03, 2018, 01:20:05 PM
 #17

只有Barcode大佬点赞了。还有大佬点赞吗
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!