用程序来访问和操作以太坊智能合约
hive-105017·@rivalhw·
0.000 HBD用程序来访问和操作以太坊智能合约
这两天在实际的实践中,发现不少开发方面的坑,之前看文档,觉得挺简单的,但实际自己操作动手一试,才知道有些东西不似看起来那般容易,况且,区块链相关的技术更新日新月异版本也是层出不迭,有些东西先前是这样调用,很可能下一个版本就更换成另外一种写法,就连安装有时候也会碰到一些奇奇怪怪得小问题。 前端用的是web3.js,这个web3.js是什么呢? >web3.js是一个库集合,你可以使用HTTP或IPC连接本地或远程以太它节点进行交互。 web3的JavaScript库能够与以太坊区块链交互。 它可以检索用户帐户,发送交易,与智能合约交互等。 你可以这样理解,web3.js是链接传统编程语言同以太坊节点的一个桥梁,通过web3.js,你可以访问以太坊节点,包括智能合约等。 按照官方的文档,安装看起来很简单,如下, >npm install web3 实际上呢?可能之前版本可以吧,我用这个官方的提示,在windows和mac系统下尝试安装了多次都不成功,最后按照新的方法如下才安装成功, >1、首先创建一文件夹 如 eth,然后进入eth目录 >2、npm init >3、npm install web3 --save  如有 node_modules 这个文件夹,就说明安装好了。 通过如上方法,可以成功将web3安装到本地环境。 当然,以上都必须安装node和npm先。 以太坊测试节点的安装 先前网上提供的是testRPC的安装, > npm install -g testPRC 原先的testRPC已经更名为ganache ,所以新的安装方式推荐如下, > npm install -g ganache-cli 启动测试节点, > ganache-cli  测试节点默认提供了10个eth账户,包括私钥  用web3.js 尝试链接本地私人节点  显示正确  之前部署到以太坊测试网络上的智能合约,本地程序现在可以直接读取和操作智能合约了。 [infura.io ](infura.io ) >开发套件提供对以太坊和 IPFS 网络的即时、可扩展的 API 访问 [infura.io ](infura.io ) 这个网站有提供以太坊上的测试节点,你可以去上边申请自己的公网测试节点,将自己本地的私人节点更换成公网的节点即可。
👍 joeyarnoldvn, minloulou, hmayak, eval, teng2cai, isaaclim, drricksanchez, netaterra, fatman, gerber, ezzy, exyle, steem.leo, therealyme, mice-k, dcityrewards, hivecur, reazuliqbal, dune69, iansart, shitsignals, felander, investegg, caladan, emrebeyler, freddio, themightyvolcano, steem.services, swisswitness, dlike, followjohngalt, cakemonster, mfblack, milu-the-dog, triplea.bot, beta500, ribary, dcrops, voter003, jamesbrown, nextgen622, merlin7, ffcrossculture, berthold, aafeng, yogacoach, oflyhigh, julian2013, pet.society, somebody, exec, deanliu, helene, lingfei, shebe, laoyao, xiaohui, blackbunny, archisteem, wherein, midnightoil, bxt, cnstm, likuang007, lianjingmedia, joythewanderer, lovelemon, etherpunk, dailyke20, moleah, bert0, memeteca, tresor, bnk, jychbetter, philipmak, mangou007, zerofive, arcange, senseiphil, chenlocus, itchyfeetdonica, kimzwarch, raphaelle, fengchao, hivelist, nancybriti, kymio, laruche, walterjay, pboulet, lovelingling, starrouge, hive-143869, sweetsssj, bilpcoinrecords, tagalong, penguinpablo, cryptonized, funnyman, alphacore, onepercentbetter, merlion, raiseup, steemaction, larry21, nineone, tingjie, blogstats, mrspointm, jywahaha, mrpointp, hqy, oldman28, evahe, sam99, bai123, ace108, passion-fruit, fortune-master, floatinglin, susanli3769, aellly, emmali, wilhb81, everlandd, lemooljiang, azazqwe, abit, rivalhw, kittima,