入门区块链,从发币开始

Posted 码咖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入门区块链,从发币开始相关的知识,希望对你有一定的参考价值。

最近币圈新闻比较多,也炒币这么久了,然而却不知道币怎么来了,作为程序猿的我们,有点丢人,话不多说,我们来发一个币,名字叫 CodeToken,简称CTB。

因为发币,部署,转账等都是要消耗GAS FEE(GAS FEE是什么?GAS FEE可以理解为手续费)的,所以我们在测试网上发币,测试网这里选择的是Rinkeby,首先你要去https://faucet.rinkeby.io/ 领币,步骤都写的很清楚。

准备工具

  • ,然后 打开 https://rinkeby.etherscan.io/ ,会看到这笔交易的详细信息:

    那么我们怎么查看部署的合约呢?

    复制 From 地址,在区块浏览器中查询,找到此地址发布的合约:

    点进去即可看到。

    4.验证合约方法

    合约部署完成后,我们要验证下方法。依然是部署菜单,点击 > ,会看到 一堆的东西,不要慌,我们一起解读下

    这些都是我们定义在合约的变量和方法。

    点击 totalSupply变量,我们查看下 发布的token总量,没错,是0,因为我们还没有铸币

    正如CodeToken代码中所写一样,要铸币(mint方法),首先要 有铸币权限的地址,要想有铸币权限的地址,就必须先给某个地址添加铸币权限(addMinter方法),添加铸币权限并不是每个用户都可以操作的,需要是治理管理员地址(governance变量),默认的治理管理员地址(governance变量)是部署合约的地址用户,如果想要修改治理管理员地址,需要设置治理管理员地址(setGovernance方法),这个方法要求调用者必须为当前治理管理员地址,这样就理解了吧。

    我们在重新梳理一下,总结两句话:

  • 用前治理管理员地址给某个地址添加铸币权限(用governance地址调用addMinter方法)

  • 拥有铸币权限地址向指定地址铸币(用addMinter方法的参数 执行mint方法)

  • 我们来实践一下:

    1.把小狐狸的账号切换到刚刚我们发布合约的账号;

    2.把test账号设置为拥有铸币权限,把test的地址复制到 addMinter 后面的框中,点击 addMinter 框,小狐狸确认后,我们看到这笔交易是成功的

    3.查询下test账号的地址是否拥有铸币权限

    将test账号的地址复制到 minters 后面的框中,点击,true,验证通过

    4.铸币,使用test账号的地址来铸币10000个

    在mint后面的框中输入参数 0xf43d31E51c78dEdDA5E12711401e3B516b207fB7,10000000000000000000000,10000后面加18个0,因为链上是不使用小数的。

    点击mint按钮,小狐狸确认后,我们看到这笔交易是失败的

    我们点击上面的链接,查看这笔交易失败的原因:

    没错,错误是 不是miniter,我们捋一下,我们设置了 test账号地址 拥有铸币权限,但是 我们小狐狸账号是 nicegogogo账号,显然,nicegogogo我们没有设置铸币权限。so,把小狐狸账号切换到 test账号

    重新执行,ok,交易成功。

    5.查看币的总量,点击 totalSupply

    去掉18个0,总量10000,没错。

    6.测试下转账方法

    使用当前小狐狸账户(test账号)来给 hhhhh 账号转500个CTB,在 transfer 后面的框中输入:0x83B109CF083f0c8Bcc9ab07aF964B135Df325771,500000000000000000000,点击transfer按钮,

    我们查看小狐狸的test账号,原来应该是有10000个CTB的,转账500个成功后,剩余 9500个。

    查看hhhhh账号的CTB,没有CTB,先添加代币

    查看CTB余额,果然是500个

    5.发布源代码

    合约部署测试完成后,我们打开ETH区块链浏览器,搜索我们发的token,CTB,注意,这次发的token合约地址是0x120d5ce8be6f65e51776086aefbb3f83b491b33c

    搜索的时候你可能会发现有两个 CTB,因为有一个是我测试的时候发的。

    点击合约地址后,然后选择Contract选项,看不到我们的源代码,并看到 有Verify And Publish,没错,是因为我们还没有 上传代码并开源。

    点击Verify And Publish,选择 编译器类型、solidity版本、开源证书类型,点击继续

    上传文件:

    上传完文件后,拉到最底部,进行人机身份验证后,点击Verify And Publish

    等待一会,ok,源代码上传完成。

    这样,整个合约就部署发布完成了。出了在remix中调用方法外,还可以在区块浏览器中调用,搜索刚刚发布的币 CTB,打开后 会看到 有Read Contract 和 Write Contract

  • Read Contract 是暴漏出的可读变量和可读方法,不用连接钱包,不会消耗GAS

  • Write Contract 是修改的变量和修改的方法,要连接钱包,会消耗GAS

  • 这就是我们发布的 CTB 币,我们实现了标准的ERC20协议中的接口。

    炒币不如了解怎么发币,知其然还要知其所以然,很NICE哦。



  • 不懂Neo4j?没关系,一起学
  • 不懂Neo4j?没关系,先学增删改查
  • SpringBoot+Neo4j在社交电商中,讲述你是怎么被绑定为下线的
  • 请别再问我什么是分布式事务
  • 分布式事务解决方案之2PC、TCC
  • 分布式事务解决方案之可靠消息最终一致性、最大努力通知
  • 天天都用消息队列,却不知道为啥要用MQ,这就有点尴尬了
  • 拜托,面试别再问我数据库的分库分表!
  • 互联网大佬们聊blockchain:区块链,Yes;发币,No!

    区块链如日中天


    前几年,互联网金融是每年两会的热词,代表委员争相发表观点。今年,作为比特币的底层技术区块链,成为新宠。金融观察团整理了其中几个互联网大佬代表委员对区块链的看法,用一句说就是,区块链可以,但是不发币。来看看他们具体怎么说?


    声明:本文综合新京报、证券时报等媒体报道,内容有修改。


    互联网大佬们聊blockchain:区块链,Yes;发币,No!


     

    1 全国政协委员、百度首席执行官李彦宏:区块链目前处于非常早期

     

    Robin在谈及区块链技术时表示,区块链技术非常具有革命性,但现在还处于非常早期的阶段。

     

    传统互联网中,虚拟的东西是“make a copy”,它是没有新增加成本的,但是区块链到来之后,可以真正使虚拟物品变得唯一,这样的互联网跟以前的互联网会是非常不一样的。

     

    2 全国人大代表、腾讯公司董事会主席兼首席执行官马化腾:不考虑发币

     

    当Pony说,如果做数字货币ICO,还是有很多的风险的,不是技术不成熟,如果大家都可以用区块链技术随便发行数字币,那会引发很多监管的问题。

     

    现在数字货币虽然很热,但是腾讯并没有参与其中,我们不考虑说发个币,因为我觉得这是一个非常有风险的事情。但是区块链技术可以应用在很多领域,比如说一些票据的认证。

     

    “用区块链就可以真正模拟现实社会中的这种单据、票据的唯一性,所以它具有一个划时代的意义。所以腾讯也在积极地探索区块链在各个场景中的应用,但是目前还是发展的早期,现在大家所有人都在盯着数字货币,我觉得先解决这个问题区块链才能继续发展。”Pony说。

     

    3 全国政协委员、360董事长周鸿祎:没看到区块链什么非用不可的场景

     

    周鸿祎说,比特币是区块链唯一刚需场景。现在区块链这么热,还没看到什么非用不可的场景,唯一就是比特币。比特币有账本不可篡改的特点,但也有遭受网络攻击的隐患,比如当有人掌握了51%的算力,或者未来量子计算破解了“挖矿”的哈希算法,对区块链技术都是一个挑战。如今出现了很多交易所、钱包,也发生过安全事件,丢失了虚拟资产,恰恰说明区块链技术需要安全保护。

      

    4 全国政协委员、网易首席执行官丁磊:区块链存在过度炒作的情况

     

    表示,区块链本身是技术,能解决很多问题,应用场景很丰富很广泛,其中一个应用是智能合约,其中放入生物信息的特征,那就会解决人与人的信任问题。信任问题解决后可以推动金融领域发展,比如借钱收款等。但现在感觉区块链存在过度炒作的情况,技术本身没有坏处,只是不要借技术名义和噱头来进行炒作,而应该根据具体应用场景结合。

     

    5 全国人大代表、苏宁控股集团董事长张近东:逐步加大引入人工智能和区块链技术


    张近东提出,要建立跨地域、跨行业,能够面向整个社会开放的数据共享平台,加强数据安全立法,同时逐步加大引入人工智能和区块链技术,推动大数据与人工智能、区块链等新技术的融合,提高对风险因素的感知、预测、防范能力。

     

    全国政协委员、新东方教育科技集团董事长俞敏洪:区块链出现使未来所有商业连接都面临挑战

     

    俞敏洪表示,区块链出现使未来所有商业连接都面临挑战。他在青年论坛——新时代的新追求上发表演讲时曾表示,现代连接是互联网+人工智能的连接,而区块链的出现,使人与人之间的连接没有了中心载体,成为完全去中心化概念,完全可以通过区块链做到。

     

    6 全国人大代表、浪潮集团董事长孙丕恕:将区块链技术应用于质量提升工程

     

    孙丕恕表示,区块链技术最早应用在比特币上,而现在将其应用于质量提升工程。简而言之,就是把企业的生产、流通、消费环节打通。以茅台为例,生产茅台酒从生产开始,要经过流通、批发、零售多个环节 ,最后到达消费者手中。而利用区块链技术,可以打通所有环节,把技术用于质量提升工程。

     

    7 全国人大代表、58集团CEO姚劲波:不会发币 长远看好区块链发展

     

    长远看好区块链发展,但目前为止区块链只跑通了一个服务,就是发币。在这个服务里面,被太多人滥用,我认为是在累积很多金融风险,有可能会导致误伤区块链的长远发展。我们不会去发币。

     

    姚劲波称,他希望区块链除了发币以外,有真正好的业务出现,推动社会进步。据悉,58集团高层密集探讨区块链,招聘这方面的人才,同时专门成立了一个部门去关注和研究这个领域。


    互联网大佬们聊blockchain:区块链,Yes;发币,No!


    金融观察团已入驻今日头条、一点资讯等近20家平台,原创文章同步更新。曾获2017-2018年度新金融行业人气自媒体奖、为新金融自媒体联盟成员,合作微信Finance_Review。


      

    点击“阅读原文”  打开金融观察团首页

    以上是关于入门区块链,从发币开始的主要内容,如果未能解决你的问题,请参考以下文章

    区块链小科普发币多简单?5分钟就够了,学懂技术谨防被割。

    深入学习区块链之前不要贸然挖矿

    区块链的几种认识

    区块链通证

    区块链处于“攻坚时刻”

    区块链进入“攻坚时刻”