我连敲3年代码, 工资却不如刚入职的TA!

以太坊让世人第一次知道了智能合约的概念,为了支持智能合约,以太坊必须把自己变的特别像一台计算机,那么全球的节点连接到一起,怎么能像一个计算机呢?那就是使用 EVM(以太坊虚拟机)技术,让每个节点的链表上可以运行智能合约的指令。全球的以太坊节点连接起来,也就形成了全球计算机。


对有一定编程经验的人来说,Solidity 开发绝对不是什么难事。Solidity 确实极容易上手,但是确实有很多细节需要注意的。一个智能合约是怎样部署到以太坊网络的呢?


我连敲3年代码, 工资却不如刚入职的TA!_第1张图片


以太坊智能合约可以通过编辑器经过rpc远程调用(默认用8545端口)发布到geth节点上,最终在以太坊网络中运行。


众所周知,我们在以太坊上执行智能合约是需要消耗 gas 的,也就是说没有以太是不能运行的,这对很多童鞋来说表示难以理解。其实这涉及到经济系统的利益问题,我们执行了一个指令,整个网络都要同步数据,而这些指令是需要矿工进行打包交易的,如果矿工的利益不能保证,最后也就将导致整个网络无人维护。


那么问题又来了,矿工有利益,开发者的收益如何实现呢?这就要具体问题具体分析,有些需求是为了保证数据存储在区块链上永不丢失,这个是保存类价值。对于开发者来说,开发出来爆款的 DApp 就是最大的收益,参考之前火爆的加密猫。


TPS 较低也是阻碍区块链发展的一大原因,这是区块链的架构决定,达成共识方面本就需要时间。作为应用的开发者来说,应该让用户有更好的体验。对于一个未确认的交易,我们可以采用监控事件的方式进行处理,这就是一个异步模式,这个事件其实类似于我们平常写程序里经常使用的 print。


合约代码如下:

我连敲3年代码, 工资却不如刚入职的TA!_第2张图片


js代码中添加事件的处理(map_event.js)

我连敲3年代码, 工资却不如刚入职的TA!_第3张图片


运行时启动geth需要注意参数:

geth --datadir ./data --networkid 15 --port 30303 --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpcvhosts "*" --rpcapi 'db,net,eth,web3,personal' --rpccorsdomain "*" --ws --wsaddr "localhost" --wsport "8546" --wsorigins "*" --nat "any" --nodiscover --dev --dev.period 1 console 2> 1.log


运行效果如下:

我连敲3年代码, 工资却不如刚入职的TA!_第4张图片



如何从0到1 ,转型区块链?


有人说区块链即未来,准备好成为一名区块链工程师了吗?最后做个软广,而为了避免漫无目且零散地学习,在这里,我推荐下文中柏链道捷和 CSDN 学院联合出品《以太坊DApp高薪实战》,通过 2 个月的系统学习,目标是成为优秀的区块链工程师(不是套路,仅为推荐)。


课程内容由区块链通证派孟岩领衔专门化课程研发队伍,紧密对接以太坊官方资源,封闭自主研发课程体系与项目案例,萃取精华内容,保证知识体系连贯、系统,逻辑严密,学习路径最优。


联系 CSDN 学院区块链老师,获取一对一专属服务

(包括:IT 职场规划服务/专属折扣)

我连敲3年代码, 工资却不如刚入职的TA!_第5张图片

(我们的课程服务)

☟☟☟

640?wx_fmt=png

联系 CSDN 学院区块链老师,获取一对一专属服务

(包括:IT 职场规划服务/专属折扣)

我连敲3年代码, 工资却不如刚入职的TA!_第6张图片


推荐阅读

  • 比特币归零又怎样? 从这位10年玩家的视角, 比特币远比你想象的强大|人物志

  • 中国可以没有俞敏洪, 区块链不能没有这些女王们, 女性从业者现状调查 | 特辑

  • 算力寻租或将终结中本聪的POW机制?深度解析BCH“司机补贴战”

  • 腾讯生死年 | 畅言

  • 命悬一线丨33岁程序员垂死经历为所有人敲响警钟!

  • 知乎如何洞察你的真实喜好?首页信息流技术揭秘

  • 云计算的“傲慢”与“偏见”

  • 炸了!刚写完这段代码,就被开除了…


点击“阅读原文”,快速报名

你可能感兴趣的:(我连敲3年代码, 工资却不如刚入职的TA!)