Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

忆神姆原们
148 0 0
本教程主要参考以太坊官方博客,外加自己的实践。创建代币不需要自己写代码,只要会复制粘贴就可以搞定,这也是以太坊强大之处。下载钱包首先到这里(https://github.com/ethereum/mist/releases)根据自己的操作系统下载相应的钱包。然后,创建一个以太坊账户。
* u: U* X7 J; ]0 i
- Y1 m* N1 W& _6 Y另外,你还需要一点以太币,大多数合约只需要价值不要1毛钱的以太币。如果你没有以太币,又不想到国外交易所折腾,可以选择用微信扫描下面的二维码直接在微信中购买:+ u1 S! U/ G* e- B& }  i3 _

+ b4 d7 c* p8 M( K( w创建账户并购买到1个以太币以后,钱包界面如下,创建新币合约我们要创建的第一个合约是一个代币合约。
) D/ K* }- `  q* ]9 N' ^" O
3 V: H! N' N9 [: D' j以太坊生态系统中的代币可以代表任何可以交易的东西:币(coin)、积分、黄金证券、欠条(IOU)等。
7 X( H7 ^/ K- Y1 l
0 q3 Q! p) d" I因为所有的代币都以标准化的方式实现一些基本的特性,这样意味着你自己创建的代币将于以太坊钱包、使用相同标准的任何其它客户端或者合约相兼容。点击红框中的Contract(合约)。1 }) Z7 B0 |- N( b  o( {1 R" b* r
' a; I- \: @, Q" Y" a" j+ d
将红框中原有的代码删除,将下面的代码粘贴到里面。" g. K+ }) |3 C
  1. /*
    % T2 }4 T) I  s7 v* ?
  2. This creates a public tradeable fungible token in the Ethereum Blockchain.
    . Z+ s" @( u2 j
  3. https://github.com/ethereum/wiki/wiki/Standardized_Contract_APIs
    , c0 f7 I- s5 f
  4. Unmodified this will create a cryptoasset with a fixed market cap
    ; H7 J/ v$ x( |* b, n5 r
  5. wholly owned by the contract creator. You can create any function' i9 |. G4 s- I; u9 q
  6. to change this contract, like allowing specific rules for the issuance,
    " X3 f# Y- `; z+ |# D
  7. destruction and freezing of any assets. This contract is intended for
    , J+ ~3 g$ N) X8 k' |. n! h! V4 W/ W
  8. educational purposes, you are fully responsible for compliance with
    ; F% Q0 A0 h3 N* d: o$ k
  9. present or future regulations of finance, communications and the. A0 c  a( M' F0 ^+ S; l( m
  10. universal rights of digital beings.( e& m9 S4 a1 O- T
  11. Anyone is free to copy, modify, publish, use, compile, sell, or
    8 ^  V( ]( ?, x/ V: n' A
  12. distribute this software, either in source code form or as a compiled
      Q5 g( ~; Z3 q
  13. binary, for any purpose, commercial or non-commercial, and by any- i! s; p! H% Y/ ^' X
  14. means./ t; v! C2 r+ a6 [; U# H
  15. In jurisdictions that recognize copyright laws, the author or authors% U0 H% ~7 I& M
  16. of this software dedicate any and all copyright interest in the
    4 }" e- ?* y1 s  Q6 e+ D4 y9 }' \
  17. software to the public domain. We make this dedication for the benefit
    4 m2 K. H- L9 S
  18. of the public at large and to the detriment of our heirs and3 A: B) A2 [7 F; s# p- {
  19. successors. We intend this dedication to be an overt act of
    9 I" i0 R3 H. h! a8 V* k
  20. relinquishment in perpetuity of all present and future rights to this
    , f% e, z. c# x. A
  21. software under copyright law.9 i* X- B% D/ ]( p2 b, J8 E
  22. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,4 n2 k: [& ?' p; I
  23. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF. ], S1 B5 K; z
  24. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
      N" q9 C; V) R* n# [' r
  25. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR: \( p; \) T! A- d% Z; c; [
  26. OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
    ( u: u0 ?: i. y9 S2 r' Q$ }5 ^) P
  27. ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    ; V* `( x. ?, x  Z6 Y
  28. OTHER DEALINGS IN THE SOFTWARE.
    ) _( c. q6 m/ o; f: Y  d6 S
  29. For more information, please refer to
    % j. G  |  r& J/ ^3 {, t
  30. */
    3 B. a$ L. V% m2 S% \
  31. contract MyToken {
    - ]7 ^" Q1 S( a2 s; l
  32.     /* Public variables of the token */
    3 ^- C4 t- w# B, S  s* f2 p$ P
  33.     string public name;  k: E3 X) w/ a3 @
  34.     string public symbol;% z3 @, X+ y% R- F5 g$ J; r$ m$ ^
  35.     uint8 public decimals;" S5 B* W- e3 @  B
  36.     /* This creates an array with all balances */
    7 X% H3 n$ x0 J  Q. C* @9 {
  37.     mapping (address => uint256) public balanceOf;! z# F( ^# J; V; f4 `
  38.     /* This generates a public event on the blockchain that will notify clients */
    8 h6 T+ K+ o& a( ?
  39.     event Transfer(address indexed from, address indexed to, uint256 value);& j) R9 x" [+ J: t
  40.     /* Initializes contract with initial supply tokens to the creator of the contract */
    * h' h, d4 t6 K+ {
  41.     function MyToken(uint256 _supply, string _name, string _symbol, uint8 _decimals) {
    # ?8 e8 ]" |, Z$ G, h' Q, `
  42.         /* if supply not given then generate 1 million of the smallest unit of the token */
    & W  _( K3 J/ M9 h& h. Q
  43.         if (_supply == 0) _supply = 1000000;
    2 ^; k) H% ?: w, r& O
  44.         /* Unless you add other functions these variables will never change */  j2 \3 e  t$ s" |, P7 _
  45.         balanceOf[msg.sender] = _supply;) O4 u5 d  O, z( e* u1 a! d
  46.         name = _name;6 b% [5 d% ?$ X& R
  47.         symbol = _symbol;
    ! c- d$ N# h/ D1 ], o8 B
  48.         /* If you want a divisible token then add the amount of decimals the base unit has  */
    ; n8 g& }% c6 {+ E( u
  49.         decimals = _decimals;
    + L! J% c# b3 i. W- g& ~
  50.     }
    ( r) ^6 S: N0 H! r; t+ C
  51.     /* Send coins */
    + u2 d' {! N) n: c* V! H
  52.     function transfer(address _to, uint256 _value) {6 y+ ~2 H2 _) ~/ k  E
  53.         /* if the sender doenst have enough balance then stop */
    $ z: F% |- K: i" ~/ V9 E+ @4 x/ ?
  54.         if (balanceOf[msg.sender] : [- `# W, f* b2 Q% W* L9 O0 G
  55.         if (balanceOf[_to] + _value 2 `2 A& p# m! }5 H0 M
  56.         /* Add and subtract new balances */
    % m6 ]6 Z3 B4 c) W
  57.         balanceOf[msg.sender] -= _value;
    " w# ^4 i  [) E8 f! i# ^! d
  58.         balanceOf[_to] += _value;3 }" {8 [6 N  f# b- o( k+ Q6 ~
  59.         /* Notifiy anyone listening that this transfer took place */
    9 Z/ E  M# P# t& r1 V
  60.         Transfer(msg.sender, _to, _value);6 m/ }6 L/ r+ |. z6 F5 N
  61.     }& }9 W( `8 J  O1 a
  62. }
复制代码

: _$ r. V8 }8 M0 V9 I如果代码编译成功,在左边将看到Pick contract,如下图:1 Z" Q- Z, l5 r# d1 N) I
& W1 ]9 N0 a) F: D2 z1 f
然后,选择MyToken选项,如下图:8 r4 Z# C7 X, d1 q* U# ^
" }8 B+ ?8 @& T% j
然后,在右边更改系数,定制自己的货币。supply: 货币总量,name: 货币名字,symbol:货币符号,decimals:货币单位精确到小数点后几位。' D$ l9 [" Q- G! y5 |. D1 X

7 w# B4 M6 f; h) A7 v下图定制的Shaopingcoin(少平币),总量10000个,货币符号:WL,货币单位精确到小数点后八位。根据自己的喜好,填写即可。 SELECT FEE(选择费用),左右拖动横轴选择支付多少手续费(这里就需要用到前面购买到的以太币了),越靠近右边,费用越高,完成合约的速度越快。例如,我选择了0.016131个以太币,大约需要30秒完成合约。完成后,点击DEPLOY(部署)。5 u  }6 i9 W" H/ c2 w+ X7 G# X

/ V- \& }/ k) F) i; m& {. M点击DEPLOY后,自动转到如下界面,输入密码(即创建账户时设置的 密码),点击SEND TRANSACTION(发送交易)。; D) }; j) L) x8 U

2 D7 X; B7 V* d然后,会跳转到钱包主界面,你会看到下面红色方框中的信息,大约需要3-4分钟的确认时间,完成12个确认就可以了。
: z7 b+ ?% V9 k- E/ f; n) X
- e5 g# B. M0 ?8 N显示新创建的货币。确认完毕,然后再进入CONTRACTS(合约)页面,你将看到刚才创建的货币,例如下图中的ShaopingCoin。+ T! ~4 [; h7 X' n1 B  D
4 e5 |: K3 I% y  Q) I5 O8 {) O
点击创建的货币,转到以下界面,复制红色方框中的合约地址,下面的步骤中要用到。4 K7 t5 n2 l* l. W" V
, q) [; i2 g$ q7 b5 v5 h
再次回到CONTRACTS(合约)页面,点击WATCH TOKEN(查看代币)。0 @/ X; z+ _% \
9 p4 i( W8 i! Q  Y6 h# F
弹出如下界面,将刚才复制的地址粘贴到红色方框中,会看到货币的名字、符号等信息。点击OK。2 x2 C  z+ W, v* h' y

& O& Y' V3 M7 K4 S; z$ W) X完成以后,在合约页面就可以看到新创建的货币了。
6 s8 d8 N8 A4 d" J6 `# z" N% ~. c6 l0 }9 m, y: E1 Z& u/ s
发送新创建的新货币进入SEND(发送)页面,在右上角的红色方框中输入收款者的账户地址。在AMOUT中填写发送的数量,在右边的红色方框中选择要发送的货币。左右拖动横轴选择费用,越靠近右边费用越高,处理速度越快。下图表示向0xba960dbedc4c2e0774729b2def16764592ced454地址发送10个ShaopingCoin,交易费用是0.00253625个以太币。点击SEND(发送)。
! _( F% G+ P. b1 w3 M; r- [5 N
1 _# Y4 N# S' T  a& g$ R' a$ V% _跳转到如下确认界面,输入密码(即创建账户时设置的密码)。点击SEND TRANSACTION(发送交易)。
" ]4 }) P3 C; b1 g% _, q4 Q" Z# E; a/ G, D& Z
回到WALLETS(钱包)界面,会看到刚刚发出的记录信息。
: f/ J4 q, c3 B: w' W5 G! z  `
: X& j0 p  r0 `! s/ d收款者需要将新创建的币的添加到WATCH Token中才可以看到收到的币。收款者进入CONTRACT(合约)页面,点击WATCH TOKEN。发送者将创建的新币的合约地址通过聊天工具发给收款者。
, N1 K1 r' `" E4 Q) a3 l8 J2 c" F+ I; T
将发送者新创建币的合约地址复制到红色方框中,点击OK。
/ X9 E, m$ v) S  n) x9 }7 {! m: c0 w5 ^, _9 g
收款者在WALLETS(钱包)页面将看到收到的币。下图显示收到了10个ShaopingCoin。
" N3 ?3 G2 Y5 m' k1 L/ R$ p4 r
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

忆神姆原们 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16