入门区块链,从发币开始
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哦。
互联网大佬们聊blockchain:区块链,Yes;发币,No!
区块链如日中天
前几年,互联网金融是每年两会的热词,代表委员争相发表观点。今年,作为比特币的底层技术区块链,成为新宠。金融观察团整理了其中几个互联网大佬代表委员对区块链的看法,用一句说就是,区块链可以,但是不发币。来看看他们具体怎么说?
声明:本文综合新京报、证券时报等媒体报道,内容有修改。
1 全国政协委员、百度首席执行官李彦宏:区块链目前处于非常早期
Robin在谈及区块链技术时表示,区块链技术非常具有革命性,但现在还处于非常早期的阶段。
传统互联网中,虚拟的东西是“make a copy”,它是没有新增加成本的,但是区块链到来之后,可以真正使虚拟物品变得唯一,这样的互联网跟以前的互联网会是非常不一样的。
2 全国人大代表、腾讯公司董事会主席兼首席执行官马化腾:不考虑发币
当Pony说,如果做数字货币ICO,还是有很多的风险的,不是技术不成熟,如果大家都可以用区块链技术随便发行数字币,那会引发很多监管的问题。
现在数字货币虽然很热,但是腾讯并没有参与其中,我们不考虑说发个币,因为我觉得这是一个非常有风险的事情。但是区块链技术可以应用在很多领域,比如说一些票据的认证。
“用区块链就可以真正模拟现实社会中的这种单据、票据的唯一性,所以它具有一个划时代的意义。所以腾讯也在积极地探索区块链在各个场景中的应用,但是目前还是发展的早期,现在大家所有人都在盯着数字货币,我觉得先解决这个问题区块链才能继续发展。”Pony说。
3 全国政协委员、360董事长周鸿祎:没看到区块链什么非用不可的场景
周鸿祎说,比特币是区块链唯一刚需场景。现在区块链这么热,还没看到什么非用不可的场景,唯一就是比特币。比特币有账本不可篡改的特点,但也有遭受网络攻击的隐患,比如当有人掌握了51%的算力,或者未来量子计算破解了“挖矿”的哈希算法,对区块链技术都是一个挑战。如今出现了很多交易所、钱包,也发生过安全事件,丢失了虚拟资产,恰恰说明区块链技术需要安全保护。
4 全国政协委员、网易首席执行官丁磊:区块链存在过度炒作的情况
表示,区块链本身是技术,能解决很多问题,应用场景很丰富很广泛,其中一个应用是智能合约,其中放入生物信息的特征,那就会解决人与人的信任问题。信任问题解决后可以推动金融领域发展,比如借钱收款等。但现在感觉区块链存在过度炒作的情况,技术本身没有坏处,只是不要借技术名义和噱头来进行炒作,而应该根据具体应用场景结合。
5 全国人大代表、苏宁控股集团董事长张近东:逐步加大引入人工智能和区块链技术
张近东提出,要建立跨地域、跨行业,能够面向整个社会开放的数据共享平台,加强数据安全立法,同时逐步加大引入人工智能和区块链技术,推动大数据与人工智能、区块链等新技术的融合,提高对风险因素的感知、预测、防范能力。
全国政协委员、新东方教育科技集团董事长俞敏洪:区块链出现使未来所有商业连接都面临挑战
俞敏洪表示,区块链出现使未来所有商业连接都面临挑战。他在青年论坛——新时代的新追求上发表演讲时曾表示,现代连接是互联网+人工智能的连接,而区块链的出现,使人与人之间的连接没有了中心载体,成为完全去中心化概念,完全可以通过区块链做到。
6 全国人大代表、浪潮集团董事长孙丕恕:将区块链技术应用于质量提升工程
孙丕恕表示,区块链技术最早应用在比特币上,而现在将其应用于质量提升工程。简而言之,就是把企业的生产、流通、消费环节打通。以茅台为例,生产茅台酒从生产开始,要经过流通、批发、零售多个环节 ,最后到达消费者手中。而利用区块链技术,可以打通所有环节,把技术用于质量提升工程。
7 全国人大代表、58集团CEO姚劲波:不会发币 长远看好区块链发展
长远看好区块链发展,但目前为止区块链只跑通了一个服务,就是发币。在这个服务里面,被太多人滥用,我认为是在累积很多金融风险,有可能会导致误伤区块链的长远发展。我们不会去发币。
姚劲波称,他希望区块链除了发币以外,有真正好的业务出现,推动社会进步。据悉,58集团高层密集探讨区块链,招聘这方面的人才,同时专门成立了一个部门去关注和研究这个领域。
金融观察团已入驻今日头条、一点资讯等近20家平台,原创文章同步更新。曾获2017-2018年度新金融行业人气自媒体奖、为新金融自媒体联盟成员,合作微信Finance_Review。
点击“阅读原文” 打开金融观察团首页
以上是关于入门区块链,从发币开始的主要内容,如果未能解决你的问题,请参考以下文章