Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

教程:用以太坊制作自已的竞争币

忆神姆原们
203 0 0
本教程主要参考以太坊官方博客,外加自己的实践。创建代币不需要自己写代码,只要会复制粘贴就可以搞定,这也是以太坊强大之处。下载钱包首先到这里(https://github.com/ethereum/mist/releases)根据自己的操作系统下载相应的钱包。然后,创建一个以太坊账户。 : _1 `( r5 @7 e* N2 e$ M
( h+ i, F4 l! V. u+ i- z/ I6 v
另外,你还需要一点以太币,大多数合约只需要价值不要1毛钱的以太币。如果你没有以太币,又不想到国外交易所折腾,可以选择用微信扫描下面的二维码直接在微信中购买:
+ X4 |# O# [. U* p
. A# g  k+ {! h( U9 }8 n. ]/ r- `创建账户并购买到1个以太币以后,钱包界面如下,创建新币合约我们要创建的第一个合约是一个代币合约。4 p5 J3 P2 i$ `

3 r# o# }1 Y; V以太坊生态系统中的代币可以代表任何可以交易的东西:币(coin)、积分、黄金证券、欠条(IOU)等。
, g* x3 W/ d* }4 b4 c, K
1 t( p; C5 {9 J7 G( A因为所有的代币都以标准化的方式实现一些基本的特性,这样意味着你自己创建的代币将于以太坊钱包、使用相同标准的任何其它客户端或者合约相兼容。点击红框中的Contract(合约)。
5 [1 e& r( H' w/ s" B0 n; O* i" U/ N3 u  h( |, w
将红框中原有的代码删除,将下面的代码粘贴到里面。, E' d9 {4 R. b# b+ y
  1. /*
    $ f$ U: j% I' j% t3 I# d9 `
  2. This creates a public tradeable fungible token in the Ethereum Blockchain.) I) y: O* Y* j  a7 u; y4 R
  3. https://github.com/ethereum/wiki/wiki/Standardized_Contract_APIs
    : D5 Q4 ~& \$ o! E, H% R: j: \: f
  4. Unmodified this will create a cryptoasset with a fixed market cap
    2 O& y- ^$ B: Y1 E
  5. wholly owned by the contract creator. You can create any function
    4 k' W) A) z" d% L) ^
  6. to change this contract, like allowing specific rules for the issuance,; V6 g- J2 [* j6 ]- T- V" Z& m1 R
  7. destruction and freezing of any assets. This contract is intended for
    4 o* D; B& E8 K3 T
  8. educational purposes, you are fully responsible for compliance with
    ! K  R" ]* r: f" N0 Z
  9. present or future regulations of finance, communications and the
    ) A' [9 g% m3 S; i. Y5 p, P
  10. universal rights of digital beings.4 z. d; t  {. S4 P, A# x, N# y
  11. Anyone is free to copy, modify, publish, use, compile, sell, or
    & @6 E9 s- m" W' J4 ~
  12. distribute this software, either in source code form or as a compiled8 \6 M" B5 P0 T
  13. binary, for any purpose, commercial or non-commercial, and by any5 e( R3 {6 O! h6 R, _$ a" K: P
  14. means.; {1 r! Q/ u4 C8 E3 @
  15. In jurisdictions that recognize copyright laws, the author or authors
    $ q) c7 [3 Z" O$ ?! ?$ A$ I! t  W
  16. of this software dedicate any and all copyright interest in the0 l. e4 m2 ]$ u9 r
  17. software to the public domain. We make this dedication for the benefit
    % L+ c( z& w: L3 M. ^+ s8 h0 G/ y
  18. of the public at large and to the detriment of our heirs and, e* T; }4 X' ]3 l8 e
  19. successors. We intend this dedication to be an overt act of
    ; |: l0 R  v8 ]- ]% V
  20. relinquishment in perpetuity of all present and future rights to this( ]' _3 _; ]2 x; {+ P
  21. software under copyright law.
    0 _9 |/ n; U5 l! s
  22. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,9 e! ~* o* f# M9 |+ D
  23. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    / t6 M' \9 b  V
  24. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    * r6 [* i4 X! e% K1 D
  25. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
    $ L7 [0 n1 c( w  j) N
  26. OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,) \4 g5 m; [4 X
  27. ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR6 N5 O1 K8 Q' D4 w6 p% Y
  28. OTHER DEALINGS IN THE SOFTWARE.
    % a0 q1 u2 M" [6 l. h
  29. For more information, please refer to
    1 M  T- q1 @/ _! [4 [' c
  30. */
    7 K" j8 C0 R5 ?% P; @1 M2 a
  31. contract MyToken {
    6 a$ I' B' N4 B  l, z/ `9 }
  32.     /* Public variables of the token */
    8 z& L! q, b% F$ p
  33.     string public name;# ?! i) D  N( o' r! ?
  34.     string public symbol;+ }% ]/ j/ }6 C# {) t7 X
  35.     uint8 public decimals;% L8 }6 \5 j6 x8 C. D0 S6 o
  36.     /* This creates an array with all balances */4 p, ~( v; x' b
  37.     mapping (address => uint256) public balanceOf;5 D1 N  A2 A0 d- Z1 S/ o
  38.     /* This generates a public event on the blockchain that will notify clients *// n* r  U) \5 c& h# B3 c3 g8 t
  39.     event Transfer(address indexed from, address indexed to, uint256 value);
    3 u6 o" n4 y( E7 e& w% D. V
  40.     /* Initializes contract with initial supply tokens to the creator of the contract */
    + F! e/ O+ G, |- W2 Z* p
  41.     function MyToken(uint256 _supply, string _name, string _symbol, uint8 _decimals) {) G% J7 c# d3 b/ `8 u, I8 D4 ~
  42.         /* if supply not given then generate 1 million of the smallest unit of the token */
      V+ k; a# A8 e
  43.         if (_supply == 0) _supply = 1000000;2 \  ]/ _$ U+ H4 A, q
  44.         /* Unless you add other functions these variables will never change */9 Q' Y& Z- _( V; `
  45.         balanceOf[msg.sender] = _supply;4 d9 ?7 \' o' I  @' R$ H
  46.         name = _name;7 z1 H4 l; ~  j, W
  47.         symbol = _symbol;
    - M' F) j. `3 _% o4 B) j
  48.         /* If you want a divisible token then add the amount of decimals the base unit has  */
    - P3 r( P& J" A7 g1 j
  49.         decimals = _decimals;. D4 d% v1 L- W/ U
  50.     }
    4 G: Q: ~1 `* e% q6 {2 z0 o) h
  51.     /* Send coins */2 g5 A( n7 i$ k: C
  52.     function transfer(address _to, uint256 _value) {/ ~% E7 f. |& K' e) m
  53.         /* if the sender doenst have enough balance then stop */
    ! i5 v, i3 z3 M5 S
  54.         if (balanceOf[msg.sender]
    : u% ~, E9 i8 p' {5 e; R  T; i
  55.         if (balanceOf[_to] + _value   R& h# q, G3 b4 d* D+ i" @
  56.         /* Add and subtract new balances */' O3 z3 I, a, M7 J; x  K: t
  57.         balanceOf[msg.sender] -= _value;
    0 w+ M& W/ k2 \
  58.         balanceOf[_to] += _value;
    $ f/ ~2 W6 v- F) w$ s
  59.         /* Notifiy anyone listening that this transfer took place */
    ( R. f5 p) Q- Q; L3 e) ]8 ^
  60.         Transfer(msg.sender, _to, _value);
    1 h! k4 c$ Z6 J! ^2 h$ ~
  61.     }
    4 f' V) }' h2 V  l) I8 N0 L9 N
  62. }
复制代码
6 ?$ L* v* H, d3 M" o
如果代码编译成功,在左边将看到Pick contract,如下图:
$ g# O7 ]" z6 Q$ s; h6 F1 s/ z6 s% Z  K7 ]# |
然后,选择MyToken选项,如下图:" f+ ]4 c. z" [8 R& O9 i
1 e' @+ ]1 C% S; a3 `! f$ n  M. X
然后,在右边更改系数,定制自己的货币。supply: 货币总量,name: 货币名字,symbol:货币符号,decimals:货币单位精确到小数点后几位。8 ^3 }. }" J/ H. [1 r: ^! x

9 P6 q: h' @" B2 g2 q, K3 @下图定制的Shaopingcoin(少平币),总量10000个,货币符号:WL,货币单位精确到小数点后八位。根据自己的喜好,填写即可。 SELECT FEE(选择费用),左右拖动横轴选择支付多少手续费(这里就需要用到前面购买到的以太币了),越靠近右边,费用越高,完成合约的速度越快。例如,我选择了0.016131个以太币,大约需要30秒完成合约。完成后,点击DEPLOY(部署)。
1 r( B# A( ?/ _! |2 [2 @" h$ _1 r8 S
4 x' Q- N( h5 d; w0 t点击DEPLOY后,自动转到如下界面,输入密码(即创建账户时设置的 密码),点击SEND TRANSACTION(发送交易)。
8 d- ?. L+ W& F3 x9 [/ m1 N# ?' }$ P) C1 c
然后,会跳转到钱包主界面,你会看到下面红色方框中的信息,大约需要3-4分钟的确认时间,完成12个确认就可以了。; C; j. X* G4 _" G! D* C
4 k' \  a6 Q: s. s
显示新创建的货币。确认完毕,然后再进入CONTRACTS(合约)页面,你将看到刚才创建的货币,例如下图中的ShaopingCoin。
7 W4 v3 y# N) z0 X$ [* ~( ?( o! M  m
点击创建的货币,转到以下界面,复制红色方框中的合约地址,下面的步骤中要用到。
0 @' N" j0 ?8 T: @: E6 q4 p+ r
: t+ C/ F+ T" D% a5 k9 h  D$ w再次回到CONTRACTS(合约)页面,点击WATCH TOKEN(查看代币)。  j. J- q: f: C' M  w# r

3 m0 u' e$ K: Q( Q( ?( [5 o3 t' V弹出如下界面,将刚才复制的地址粘贴到红色方框中,会看到货币的名字、符号等信息。点击OK。
0 }, h. }9 |0 \8 [& w9 m- `
" v) |* Y6 ^1 p& [/ `  j+ j" s$ U完成以后,在合约页面就可以看到新创建的货币了。5 x9 m5 l  y8 P* n/ ^6 m

2 W+ D, l% e6 T3 N5 ^+ N- n7 K发送新创建的新货币进入SEND(发送)页面,在右上角的红色方框中输入收款者的账户地址。在AMOUT中填写发送的数量,在右边的红色方框中选择要发送的货币。左右拖动横轴选择费用,越靠近右边费用越高,处理速度越快。下图表示向0xba960dbedc4c2e0774729b2def16764592ced454地址发送10个ShaopingCoin,交易费用是0.00253625个以太币。点击SEND(发送)。+ }# x* D) ^" W/ w8 w& d

% l& |7 H3 r$ T跳转到如下确认界面,输入密码(即创建账户时设置的密码)。点击SEND TRANSACTION(发送交易)。
  Q: h% Y  R2 Y# w  ^4 G8 z' G) n' g" }) Z/ C  i+ Z8 W% p  l; ~" d
回到WALLETS(钱包)界面,会看到刚刚发出的记录信息。( n* ?6 G/ Z! q

! o# P8 o  F- ]' K' p9 b收款者需要将新创建的币的添加到WATCH Token中才可以看到收到的币。收款者进入CONTRACT(合约)页面,点击WATCH TOKEN。发送者将创建的新币的合约地址通过聊天工具发给收款者。0 u7 @, G3 ]5 \/ k! v) S' M
1 l5 {0 y, ^! ~
将发送者新创建币的合约地址复制到红色方框中,点击OK。
  t- X( o( A, |6 t2 r
( H. D' d' Z+ r. b1 q7 ~收款者在WALLETS(钱包)页面将看到收到的币。下图显示收到了10个ShaopingCoin。6 [9 t: s' O3 @, y0 f: g
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

忆神姆原们 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16