使用Nodejs部署智能合约

JavaScript015

使用Nodejs部署智能合约,第1张

实现智能合约的方式很多种,可以用truffle框架来实现,编译,部署。

这里介绍一种简单的使用nodejs来实现,编译,部署的方法。

创建一个nodejs项目,实现一个简单的智能合约。

这个合约实现了一个造币和转币的逻辑。

我们的合约是运行在evm上面的字节码,solidity是静态语言,需要通过编译器生成evm的字节码。

调用 node compile.js ,对BaseToken进行编译,生成字节码。web3中提供了一个部署合约的接口,使用如下,

利用编译生成的abi和bytecode,创建一个合约对象,然后进行发布,等待着异步执行的方法输出合约地址 contractAddress ,这样就完成了部署。不过这种方式有一个问题,就是在发布合约时,你的私钥处于联网状态,

处于安全策略,我们需要尽量避免私钥在联网状态。

以太坊上部署合约是向空地址发送一个附有字节码的签名交易,其中发送者就是这个合约的拥有者。因此我们只需要将合约构建成一笔交易,我们在无网状态下对这笔交易进行签名,然后将签名发送到以太坊网络中。这样能够降低我们私钥被泄漏的风险。

对合约的签名方法如下:

以上对一个合约签名,这里需要注意的问题是,to的地址需要是,空地址。

完成签名之后,我们把这笔交易发送出去就好,最简单的方法就是使用 etherscan的发送Tx的方式 ,一旦发送完成,部署完成,就可以看到合约地址。

没有不唱,只是减少活动了。

JS(Justin&Sophia),中国台湾流行乐组合,由陈忠义、陈绮萱组成。

1999年,陈忠义与陈绮萱组成“GoGo&MeMe”,并推出组合首张音乐专辑《Say Forever》。2004年,签约台湾华研国际音乐股份有限公司,并改名为“JS”;同年8月,推出组合第二张音乐专辑《遇见未来》。

2006年,JS与台湾华研国际音乐股份有限公司的合约期满后,并创办了“音思拜耳Inspire音乐工作室”;同年7月,推出组合首张EP专辑《Rosso苏菲亚的盛宴》。2008年,凭借专辑《此生最美的风景》入围“新加坡金曲奖”最佳组合奖。

2009年,推出组合第二张精选辑《The JS Moment》。2012年,推出组合第四张音乐专辑《听见》。2013年,凭借专辑《听见》入围“第24届金曲奖”最佳演唱组合。2014年12月21日,在上海举行“JS Xmas演唱会”。2015年3月,推出组合第五张EP专辑《这就是爱》。

人物评价

JS是一个很普通却又很特别的演唱组合,他们有着坚韧的音乐生命力。JS的音乐是有着绝对的精彩,他们的音乐作品带有浓郁的日系风格,他们是华语乐坛中能够把J-Pop风发挥得较为极致的一支演唱组合。

他们的音乐很有日系的范儿,但是音乐的风格从来不会局限在任何一个框架之中,JS更擅长的是寻求不同的尝试,所以他们的音乐风格向来都很丰富,流行、清新、文艺、摇滚、民谣、朋克,古典这些都是可以贴在他们身上的标签。

JS的音乐始终围绕着旅行、爱、离别、时间等主题,并以强烈的J-Pop日式流行曲风格倾向见长,专辑封面也总是一幅东京日和的样子。

JS拥有丰沛的创作能力,他们的作品充满戏剧感与画面感,不矫情做作。因此,JS的作品被誉为“物语式情歌”。

利用 web3,调用 erc 20 token 合约,连接 infura 节点,进行转账

批量转账合约,参考 这里 的实现,部分源码如下:

调用 token 合约,授权批量合约转账

调用批量转账合约,进行转账