第142期:一次写区块链前端项目的体验
最近闲着没事儿,一直在帮朋友写一个关于区块链的项目,当然,我主要负责前端界面的搭建以及和合约的交互。
界面的部分很简单,采用vue3+ts以及antv封装一些常用的组件即可,而合约交互的部分,因为原先没有接触过,所以花了点时间去适应,总的来说写这个项目还是比较顺畅的。
区块链和前端相关的技术大体上有这么三个东西:
- MetaMask,俗称
小狐狸
。主要用来做账号的管理等工作。 - web3.js 。主要用来对合约进行实例化,发起转账、查询、格式化等跟合约交互的动作。
- solidity.js 。主要用来写合约,写好后可以进行编辑并发布,详情可以查看其网站网站地址。
MetaMask使用起来很简单,我们只需要安装一个插件即可,然后按照文档上的教程就可以进行获取账号、切换账号等操作。
比如:
ethereum.on('accountsChanged', function (accounts) {
// Time to reload your interface with accounts[0]!
});
web3.js使用起来也很简洁,我们只需要安装最新的版本,就可以使用它的各种API了。
安装:
npm install web3
然后做一个初始化:
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
// set the provider you want from Web3.providers
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
接下来我们就可以无忧无虑的使用它的各种API。
遇到的问题
问题大都是和合约交互时产生的,前端调试起来很不方便,所以为了调试我们开了一个合约的浏览器,这样在出现问题时,可以根据transactionHash
找到对应的操作,看到对应的报错。
另外一个值得注意的问题是合约的精度问题,有的精度是18位小数,有的是6位小数,所以单位不统一,后面的各种计算都是错误的。
//**
erc20 token的数量需要先弄明白了,
比如你这个usdc的decimal是18,
那么1个usdc对应的数值就是1后面跟18个0,
即1000000000000000000表示1个usdc
*//
最重要的一点:1 token = 1 x 1e[decimals]
记住这个就可以了。
其他要注意的事情
关于这个项目,其实大家都是用空闲的时间来写的,那么管理就成了一件非常困难的事情,因为大家的空闲的时间不一样,有的白天有时间,有的晚上才有时间,沟通就成了一件成本非常高的事情。
所以在沟通的时候我尽量选择电话或者会议进行沟通,相比于打字,这种效率要高很多。
其次,在沟通的时候一定不要用命令的语气,因为大家都是一样的,发现问题以后,在时间方便的情况下及时做出修改即可。
最后
随着时间的推移,我越来越发现其实项目能否做成功,关键点不在于用的什么先进的技术,而在于项目开发过程中的沟通是否有效。
什么是有效的沟通?过程顺畅,参与的人员没有发生矛盾,即便有矛盾,后面也可以将矛盾化解,使问题得以解决。
这才是有效的沟通。
如果沟通及时、有效,问题能够及时解决,项目自然而然的就可以做成。
相关文章
- 区块链项目系统开发方案
- 区块链联盟链项目开发技术
- 阐述区块链NFT铸造分红DAPP项目系统开发分析(成熟案例)
- Binance帮助推特开发与区块链相关的解决方案
- 阐述区块链项目DAPP系统开发技术解决方案
- 关于Python区块链项目技术开发详细流程及成熟源码搭建
- ChatGPT火爆下,区块链正趋于冷静
- 区块链公排模式系统DAPP开发专项丨公排模式DAPP项目系统开发流程
- 腾讯区块链总经理现身全球区块链大会:区块链如何赋能各行业?
- 关于区块链交易所系统开发项目技术功能方案
- 曝孙宇晨将研究区块链社会治理 任课题组副组长
- IBM 将区块链引入红帽 OpenShift;为混合云客户添加了Apache CouchDB
- 关于区块链,人民日报、马云马化腾李嘉诚周小川是这么说的
- 马云出手区块链:恒生电子400万美元投资智能合约公司Symbiont
- “首届中国区块链开发大赛”落幕,这些是最后决胜项目
- ChinaLedger技术委员会主任白硕:区块链的发行和流通必须搞在一起?| 朗迪2017
- 汇丰银行即将启动区块链试点项目,支持实时交易
- 中纪委机关报发声:如何让监管理解区块链并适度监管是挑战
- 专访北大经济学博士刘昌用:95%的区块链项目没前途,1%会是未来驱动力
- 微软希望使用以太坊区块链来打击盗版
- 又一个公信宝?网易上线金融区块链区项目“星球基地”,疑为借贷业务铺路
- 比你年轻,还比你们会赚钱!TFBOYS粉丝玩起区块链追星
- 技术详解DAG区块链项目SPECTRE:围绕一致性建设,投票机制甄别攻击杜绝交易冲突