【区块链】以太坊 web3j for java 使用
来源:互联网 发布:淘宝男装 编辑:程序博客网 时间:2024/06/06 10:06
web3j 部署合约
环境:mac os & android studio
官网:here
以太坊 web3j for java 配置和使用<1>: here
以太坊 web3j for java 使用 - 为用户创建凭证credentials <2>:here
一、编译合约
solc <contract>.sol --bin --abi --optimize -o <output-dir>/
====>生产 .abi 和 .bin 文件
例如,在Hello.sol文件目录下输入:solc Hello.sol --bin --abi --optimize -o /Users/pro/Desktop
二、生成 .java文件
web3j solidity generate [--javaTypes|--solidityTypes] /path/to/<smart-contract>.bin /path/to/<smart-contract>.abi -o /path/to/src/main/java -p com.your.organisation.name
例如:
然后将生成的 .java文件导入到安卓项目中。
三、部署合约
YourSmartContract contract = YourSmartContract.deploy( <web3j>, <credentials>, GAS_PRICE, GAS_LIMIT, [<initialValue>,] <param1>, ..., <paramN>).send();
或者可以加载已经部署在私有链上面的合约:
YourSmartContract contract = YourSmartContract.load( "0x<address>|<ensName>", web3j, credentials, GAS_PRICE, GAS_LIMIT);
例如:
AllBikeShared contract = AllBikeShared.load("0x055a864a5f39f9eecd17e729e2cfc4fb6b12c19b", web3, credentials, GAS_PRICE, GAS_LIMIT);
四、调用合约
1.call 的方式,不改变智能合约的状态
Type result = contract.someMethod(<param1>, ...).send();
例如:
BigInteger result = contract.getUserCount().send();
阅读全文
0 0
- 【区块链】以太坊 web3j for java 使用
- 【区块链】以太坊 web3j for java 使用
- 【区块链】以太坊 web3j for java 配置和使用 <1>
- 以太坊学习之Java开发框架web3j的使用---部署合约
- 轻量级的以太坊开发库for java发布了 web3j lightweight Ethereum library for Java applications v1.0 release
- 以太坊区块链白皮书
- 区块链-以太坊-构建私有链
- 区块链-以太坊学习资料汇总
- 区块链:基于Rails开发以太坊
- 区块链 以太坊 ethereum 实践
- 【区块链】以太坊源码学习 -- EVM
- 区块链编程一翻译篇<一>:web3j介绍
- 区块链编程一翻译篇<二>:web3j准备工作
- 区块链开发(八)以太坊truffle开发框架的安装使用
- 基于以太坊的区块链浏览器(java web开发)
- 【区块链】以太坊私有链下智能合约部署
- 德国电力公司整合以太坊区块链技术…
- 基于以太坊的区块链浏览器搭建
- C# A*寻路算法代码
- 【C#】百钱百鸡
- spring cloud bug
- Git忽略规则和.gitignore规则不生效的解决办法
- 用vue封装插件并发布到npm
- 【区块链】以太坊 web3j for java 使用
- 2017/11/28更新:HKEPC称,Intel向台湾主板厂商公布了第九代Cannonlake的型号相关资料,2018年下半年上市,i7升级到8C/16T,i5新增HT升级到6C/12T,i3也获得
- 【oracle中】***LISTAGG WITHIN GROUP BY ****方法的使用
- spring核心框架体系结构(各个jar包作用)
- 什么是IP Core?
- 备份
- Linux懒人一键配置tensorflow
- 实例讲解虚拟机3种网络模式(桥接、nat、Host-only)
- spring-boot中引入thymeleaf