Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

忆神姆原们
152 0 0
本教程主要参考以太坊官方博客,外加自己的实践。创建代币不需要自己写代码,只要会复制粘贴就可以搞定,这也是以太坊强大之处。下载钱包首先到这里(https://github.com/ethereum/mist/releases)根据自己的操作系统下载相应的钱包。然后,创建一个以太坊账户。
8 a- C4 h% G# W9 i& J
5 E9 z" `+ `6 u# H: a1 |另外,你还需要一点以太币,大多数合约只需要价值不要1毛钱的以太币。如果你没有以太币,又不想到国外交易所折腾,可以选择用微信扫描下面的二维码直接在微信中购买:
" ^1 B1 ^7 x7 ]# H4 ~  |) x/ ?  _: D* e1 ]
创建账户并购买到1个以太币以后,钱包界面如下,创建新币合约我们要创建的第一个合约是一个代币合约。
, I0 \& q0 [8 L7 I
8 e; E, Z$ M- n1 `$ f' s以太坊生态系统中的代币可以代表任何可以交易的东西:币(coin)、积分、黄金证券、欠条(IOU)等。
' d. x" \* \" Y+ C2 m* w
# `$ F6 Y. }0 N1 n9 T8 O% ]0 L6 d因为所有的代币都以标准化的方式实现一些基本的特性,这样意味着你自己创建的代币将于以太坊钱包、使用相同标准的任何其它客户端或者合约相兼容。点击红框中的Contract(合约)。# G5 ~3 W+ M/ g. c' I  L
/ Q: G( H# d% A
将红框中原有的代码删除,将下面的代码粘贴到里面。
2 [6 v" t9 M& H/ k1 f5 P
  1. /*. y" F- N7 e7 w9 ^/ |! n; }- o
  2. This creates a public tradeable fungible token in the Ethereum Blockchain.
    ; _9 a( G' t" U0 t
  3. https://github.com/ethereum/wiki/wiki/Standardized_Contract_APIs. l8 i, t: o  W; v: r' U
  4. Unmodified this will create a cryptoasset with a fixed market cap
    . T$ w, ^3 C6 y) f8 n# G
  5. wholly owned by the contract creator. You can create any function) d9 i9 |2 f! G9 M
  6. to change this contract, like allowing specific rules for the issuance,
    8 O% d/ k& s+ d
  7. destruction and freezing of any assets. This contract is intended for
    3 @# w9 y. L7 k9 ~* `+ P
  8. educational purposes, you are fully responsible for compliance with+ q' I* N3 P3 I, D1 n+ ?- Q5 U
  9. present or future regulations of finance, communications and the
    , o" F: N* p0 e
  10. universal rights of digital beings.
    / |7 t0 x; I% y) d/ Q# _' i
  11. Anyone is free to copy, modify, publish, use, compile, sell, or
    " l+ u' L- j2 x% q, g5 Z
  12. distribute this software, either in source code form or as a compiled
    % U* f) X3 t! C0 e$ b& d0 h' L
  13. binary, for any purpose, commercial or non-commercial, and by any
    6 X: D- M9 a3 `4 }+ M) X7 N3 ]! `7 J
  14. means.
    , N( d; i: g0 m  M) R. V
  15. In jurisdictions that recognize copyright laws, the author or authors
    1 n  S& x0 @2 m) E
  16. of this software dedicate any and all copyright interest in the8 a4 A1 q* G0 ~, T- I7 h# a: ~% H
  17. software to the public domain. We make this dedication for the benefit3 O4 _- Y1 `& a
  18. of the public at large and to the detriment of our heirs and  n6 j% `* `+ E; R4 W
  19. successors. We intend this dedication to be an overt act of
    6 {: P# {$ s1 `
  20. relinquishment in perpetuity of all present and future rights to this
    & }3 v: [' a3 _
  21. software under copyright law.9 n; |4 x% V$ h
  22. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    0 o: O. `' s+ T4 V+ x9 x9 C4 E
  23. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF8 @0 Z* @, {5 O# J7 u% V3 j' H
  24. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.' Z3 }; u7 t8 U2 h0 E- M
  25. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR1 I. ]# q0 q) ~' m5 @
  26. OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
    - {4 t6 d/ B1 i1 ?
  27. ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    , R0 i9 J$ D- f- o: j2 z8 q! F3 n! K: R
  28. OTHER DEALINGS IN THE SOFTWARE.# M; j3 p/ H/ N; f- z
  29. For more information, please refer to . f: E3 N) B" ~) J; h
  30. */
    ; p% `* N9 T8 r3 c
  31. contract MyToken {
    ! {2 _/ s  c8 H% W% v9 ]8 N. s
  32.     /* Public variables of the token */7 ]* M( `! c: d, Z
  33.     string public name;
    # k8 g0 e! D5 s6 \7 w
  34.     string public symbol;
    1 R, @* C1 c8 G) K" O$ D
  35.     uint8 public decimals;
    # m6 V/ |/ X5 c! L' e' d
  36.     /* This creates an array with all balances */  _# v+ [# F" f  c" w: L% ?: r
  37.     mapping (address => uint256) public balanceOf;4 [6 S9 S" R$ |; g& t
  38.     /* This generates a public event on the blockchain that will notify clients */
    1 e, G  W' w' g( t# [8 ~! i6 _; H
  39.     event Transfer(address indexed from, address indexed to, uint256 value);
    : q1 i+ h# ?8 B$ f' R4 M
  40.     /* Initializes contract with initial supply tokens to the creator of the contract */7 P  I" z2 c0 L4 {+ i* Q. m
  41.     function MyToken(uint256 _supply, string _name, string _symbol, uint8 _decimals) {7 w, k, [/ \4 K3 m; p
  42.         /* if supply not given then generate 1 million of the smallest unit of the token */
    9 F3 \! r/ h. [
  43.         if (_supply == 0) _supply = 1000000;% @' \: X6 F1 N) x0 v' p
  44.         /* Unless you add other functions these variables will never change */
    * K! A% x6 \! ?2 b: l1 F
  45.         balanceOf[msg.sender] = _supply;
    ; G" C; c5 @+ u! l  P! Z! I
  46.         name = _name;
    2 F; V0 m( n( |$ X" S7 R
  47.         symbol = _symbol;  W; `0 Q) k  m* U- k
  48.         /* If you want a divisible token then add the amount of decimals the base unit has  */
    5 N& R% E+ \3 L
  49.         decimals = _decimals;" c/ U/ l; ?( r3 o9 ?- V0 Z
  50.     }
    / W5 H! M5 n6 [9 J1 r( @3 L# t
  51.     /* Send coins */
    + ?2 ~7 @% u+ y6 l1 J8 {
  52.     function transfer(address _to, uint256 _value) {
      A5 r7 c- t7 e
  53.         /* if the sender doenst have enough balance then stop */# X' ?% X# }$ h! ^2 e
  54.         if (balanceOf[msg.sender] ! Q- f  N) _2 k1 d4 i' `
  55.         if (balanceOf[_to] + _value ; ~2 Q$ |: z, R) I6 b/ b. c' }
  56.         /* Add and subtract new balances */
    7 o# l* r8 D  J/ F7 A
  57.         balanceOf[msg.sender] -= _value;
    5 V1 [3 F, R% F
  58.         balanceOf[_to] += _value;+ K  ]5 x3 |" H2 F# u: x7 d$ `; Y
  59.         /* Notifiy anyone listening that this transfer took place */
    ) [: c" e7 }4 R6 A
  60.         Transfer(msg.sender, _to, _value);# I5 o# h3 n9 q$ [. H7 a7 l/ X
  61.     }! P& K1 w. Z9 `
  62. }
复制代码
* T. C! M. S0 d$ `1 ?4 w2 B* }* E
如果代码编译成功,在左边将看到Pick contract,如下图:
; e' c# |3 d! \$ c0 L) ?% h0 O0 b3 y$ o7 e1 x% E1 d
然后,选择MyToken选项,如下图:
* A  Y/ Z6 [6 a6 p# V# {7 P/ y" q9 n* k5 E% f8 t
然后,在右边更改系数,定制自己的货币。supply: 货币总量,name: 货币名字,symbol:货币符号,decimals:货币单位精确到小数点后几位。9 U% w7 g+ L0 o( F6 N. q
  S3 K5 u3 ~, W2 g- Q1 P
下图定制的Shaopingcoin(少平币),总量10000个,货币符号:WL,货币单位精确到小数点后八位。根据自己的喜好,填写即可。 SELECT FEE(选择费用),左右拖动横轴选择支付多少手续费(这里就需要用到前面购买到的以太币了),越靠近右边,费用越高,完成合约的速度越快。例如,我选择了0.016131个以太币,大约需要30秒完成合约。完成后,点击DEPLOY(部署)。  V% Y" t! q- j& `$ E* d! ^: e
, R3 e# V' i8 @* {
点击DEPLOY后,自动转到如下界面,输入密码(即创建账户时设置的 密码),点击SEND TRANSACTION(发送交易)。
8 m8 z% L2 r4 b% `% o3 p' m0 a4 u' P3 P7 V4 W
然后,会跳转到钱包主界面,你会看到下面红色方框中的信息,大约需要3-4分钟的确认时间,完成12个确认就可以了。
& H9 r2 {* R) R0 u" t
; t: U8 p2 r' M7 F) T: J1 y显示新创建的货币。确认完毕,然后再进入CONTRACTS(合约)页面,你将看到刚才创建的货币,例如下图中的ShaopingCoin。; C+ K/ Z1 @: m1 ~7 |, e
% g1 R% Q' G' z) v6 y
点击创建的货币,转到以下界面,复制红色方框中的合约地址,下面的步骤中要用到。) w) K) n# J( a  ~

0 ^' D+ s$ z, v0 u. o再次回到CONTRACTS(合约)页面,点击WATCH TOKEN(查看代币)。
: f& [; H- [, f. {3 ]' W* R/ t
4 N) O- @7 Y8 i& c* R弹出如下界面,将刚才复制的地址粘贴到红色方框中,会看到货币的名字、符号等信息。点击OK。( O4 N2 G3 l7 }/ B' F* @

3 @6 S# a: k- w* B4 e3 O完成以后,在合约页面就可以看到新创建的货币了。& r) W- q: `: n: R" `) E' y

: B9 S+ U+ j, V4 M. h发送新创建的新货币进入SEND(发送)页面,在右上角的红色方框中输入收款者的账户地址。在AMOUT中填写发送的数量,在右边的红色方框中选择要发送的货币。左右拖动横轴选择费用,越靠近右边费用越高,处理速度越快。下图表示向0xba960dbedc4c2e0774729b2def16764592ced454地址发送10个ShaopingCoin,交易费用是0.00253625个以太币。点击SEND(发送)。
( T5 d9 m! h+ D. i! s/ e0 J# A5 L$ ~) i; |1 F' s2 s
跳转到如下确认界面,输入密码(即创建账户时设置的密码)。点击SEND TRANSACTION(发送交易)。
! q; \. V" U7 Y; X0 s
4 U  h2 W# Q! L, e4 }. O回到WALLETS(钱包)界面,会看到刚刚发出的记录信息。! s9 }, D' {- h4 h( w
1 l* S+ |( E5 l9 u/ _+ i5 b
收款者需要将新创建的币的添加到WATCH Token中才可以看到收到的币。收款者进入CONTRACT(合约)页面,点击WATCH TOKEN。发送者将创建的新币的合约地址通过聊天工具发给收款者。
( R6 I1 X; i/ T7 I. ^. u8 A0 Z
3 u' D& C. W$ U2 K7 v+ L; q将发送者新创建币的合约地址复制到红色方框中,点击OK。
# ~- W1 f8 L% R. I0 t) J6 y( }2 m0 t: F1 y9 _
收款者在WALLETS(钱包)页面将看到收到的币。下图显示收到了10个ShaopingCoin。9 J, F( h- X; u
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

忆神姆原们 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16