web3j

7个值得关注的Java区块链项目【2019】

一曲冷凌霜 提交于 2019-11-29 09:39:18
如果你是一个对区块链感兴趣的Java工程师,那么除了阅读书籍或博客之外,更好的学习方法是亲自动手,深入了解以下7个最流行的Java区块链项目。 1、Corda Corda可能是Java开发人员进入区块链世界的最自然的出发点。Corda是一个JVM项目,它建立在很多流行且广泛使用的开源项目之上,例如Apache Artemis、Hibernate、Apache Shiro、Jackson以及关系型数据库。Corda受到了比特币的启发,但是它包含了业务流程、消息以及其他企业应用中的熟悉的概念。 项目链接: https://github.com/corda/corda Github Star:3002 2、Pantheon Pantheon是一个Java版本的完整的以太坊节点实现,创建这个项目的出发点就是吸引Java生态中的开发者进入区块链世界。 项目链接: https://github.com/PegaSysEng/pantheon Github Star:393 3、Bitcoinj Bitcoinj是最流行的比特币协议的Java实现。如果你希望直接从比特币开始你的区块链开发,这就是你应该深入的项目。 项目链接: https://github.com/bitcoinj/bitcoinj Github Star:3405 在线教程: Java比特币开发详解 — 汇智网 4、Web3j

Eclipse+Web3j开发以太坊应用

孤街浪徒 提交于 2019-11-29 09:30:07
在我们的 web3j 以太坊开发课程中,预置代码是在终端命令行使用gradle进行构建的。如果希望在熟悉的Eclipse中开发web3j以太坊应用,这个快速教程将告诉你如何进行配置。 我们将分为6个步骤来介绍如何在Eclipse中使用Gradle项目开发web3j以太坊应用: 安装Gradle工具 安装Eclipse的Gradle插件 创建Gradle项目 配置Gradle项目 创建演示类代码 运行仿真器和演示代码 1、安装Gradle 官网下载最新的 4.8.1版本Gradle 压缩包,然后选择一个目录解压,比如: d:\tool 。 不需要配置环境变量,解压即可。 注意:Gradle压缩包内含一级 gradle-4.8.1 目录,因此最终的安装目录是: d:\tool\gradle-4.8.1 。 2、安装Gradle插件 最新Oxygen版的Eclipse已经默认集成了Gradle插件,因此可以直接创建Gradle项目: 如果需要手工安装,点击菜单__[Help]__-> [Eclipse Marketplace] ,然后搜索 gradle , 选择__Buildship Gradle Integration 2.0__安装即可: 3、创建Gradle项目 选择菜单__[New]__ -> [Project...] ,在弹出的向导对话框中选择__Gradle Project_

在Eclipse中使用Gradle开发web3j以太坊应用

限于喜欢 提交于 2019-11-29 09:29:54
在我们的 web3j 以太坊开发课程中,预置代码是在终端命令行使用gradle进行构建的。如果希望在熟悉的Eclipse中开发web3j以太坊应用,这个快速教程将告诉你如何进行配置。 我们将分为6个步骤来介绍如何在Eclipse中使用Gradle项目开发web3j以太坊应用: 安装Gradle工具 安装Eclipse的Gradle插件 创建Gradle项目 配置Gradle项目 创建演示类代码 运行仿真器和演示代码 1、安装Gradle 官网下载最新的<a href="https://services.gradle.org/distributions/gradle-4.8.1-bin.zip" target="_blank" rel="external nofollow">4.8.1版本</a>Gradle压缩包,然后选择一个目录解压,比如: d:\tool 。 不需要配置环境变量,解压即可。 注意:Gradle压缩包内含一级 gradle-4.8.1 目录,因此最终的安装目录是: d:\tool\gradle-4.8.1 。 2、安装Gradle插件 最新Oxygen版的Eclipse已经默认集成了Gradle插件,因此可以直接创建Gradle项目: 如果需要手工安装,点击菜单__[Help]__-> [Eclipse Marketplace] ,然后搜索 gradle ,选择_

web3j的maven插件(solidity智能合约)

狂风中的少年 提交于 2019-11-28 19:09:31
web3j maven插件用于基于solidity智能合约文件创建java类。 用法 插件的基本配置将从 src/main/resources 获取solidity文件,并将java类生成到 src/main/java 文件夹中。 <build> <plugins> <plugin> <groupId>org.web3j</groupId> <artifactId>web3j-maven-plugin</artifactId> <version>0.3.7</version> <configuration> <soliditySourceFiles/> </configuration> </plugin> </plugins> </build> 运行插件执行目标 generate-sources : mvn web3j:generate-sources 配置 有几个变量用于选择solidity源文件,定义源目标路径或更改包名称。 outputDirectory 的配置优先于 sourceDestination 。 入门 创建一个标准的java maven项目。将以下 <plugin> 配置添加到 pom.xml 文件中: <plugin> <groupId>org.web3j</groupId> <artifactId>web3j-maven-plugin</artifactId>

eos.io开发区块链dapp(三、webapp)

南笙酒味 提交于 2019-11-28 18:27:36
这是 一步步的用EOSIO开发区块链DApp 的第三部分, 上一部分 中,我为EOSIO平台开发了一个模拟选举的智能合约。这部分我将开发一个webapp,允许访问者投票给候选人。 以下是webapp的快速预览: 源代码说明 首先,请参阅下面的概述图: 前端 前端由HTML,CSS和Javascript组成。我使用 Semantic-UI 作为CSS框架以获得漂亮的外观。JQuery在Javascript中被大量使用以便于开发。 此webapp只有一个页面(主页HTML)。主页分为四个部分。 以下是部分的屏幕截图: 以下是主页 index.html 的代码片段: ... <body> <div class="ui container"> <div class="ui grid"> ... <div id="hints_portion" class="sixteen wide column"> ... </div> <div id="input_portion" class="sixteen wide column"> ... </div> <div id="voting_portion" class="sixteen wide column"> ... </div> <div id="voted_portion" class="sixteen wide column"> ... <

用Visual Studio和C#开发以太坊应用程序

混江龙づ霸主 提交于 2019-11-28 15:35:32
最近区块链技术引起了我的注意。我刚开始了解它,就看到了区块链去中心化架构的巨大潜力,并且它能够简化各种现有繁琐的流程,通过各种形式的 合约 。 作为一名.NET开发人员,我主要使用的是一些提供中心数据源的架构,因此区块链的去中心化概念对我来说是全新的。我很快就看到它如何提供更高的可靠性,完整性和透明化。我开始寻找可以让我开始使用熟悉的操作系统和工具进行开发dapp应用程序的信息:Windows和Visual Studio。 最初,我对以太坊区块链,智能合约和dapp应用程序提出了大量疑问。 所有信息都存储在哪里? 智能合约在哪里部署? Dapp(去中心化应用程序)在哪里托管? 如何进行测试? 谁能查看并调用我的合约? 尽管网上提供了大量关于区块链技术和区块链开发的资源,但它们并没有得到验证,也不是很容易理解。所以我不得不深入挖掘很多信息,包括书籍,白皮书,论坛,文章。现在我能够将典型的ASP.NET应用程序架构与Blockchain去中心化的应用程序架构进行比较: 正如你从此图中看到的,Dapp只不过是一个JavaScript,无论是智能合约还是区块链中的任何其他东西。区块链正在扮演服务器角色,除了它根本不是中心,而是复制到运行以太坊虚拟机(EVM)脚本(Geth)的所有节点(机器)的副本。 一旦我对自己的工作方式有了更清晰的了解,我就可以开始将理论付诸实践了。正如之前所说

java类库web3j的Gradle插件

怎甘沉沦 提交于 2019-11-28 12:12:07
web3j Gradle插件是从Solidity智能合约生成web3j Java封装的构建工具。它通过添加可以独立运行的特定任务,顺利地与项目的构建生命周期集成。 插件配置 在开始之前,如果计算机中尚未安装 Solidity编译器 ,则需要安装它。 使用buildscript约定 要使用旧的Gradle buildscript 约定安装web3j插件,应该将以下内容添加到构建文件的第一行(目前只有Gradle支持发行版本,而不是SNAPSHOT): buildscript { repositories { mavenCentral() } dependencies { classpath 'org.web3j:web3j-gradle-plugin:0.1.6' } } apply plugin: 'web3j' 使用插件DSL 或者,如果你使用的是更现代的插件DSL,请将以下行添加到你的构建文件中: plugins { id 'org.web3j' version '0.1.6' } 然后运行包含Solidity智能合约的项目: ./gradlew build 应用插件后,生成代码的基本目录(默认为 $buildDir/generated/source/web3j )将包含每个源集的目录(默认为 main 和 test ),其中包含智能合约封装器的Java类。 代码生成

以太坊应用开发接口:JSON RPC API

强颜欢笑 提交于 2019-11-26 22:15:02
以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程序调用。 JSON-RPC是一种无状态轻量级远程过程调用(RPC)协议,规范定义了数据结构及相应的处理规则,规范使用JSON(RFC 4627)数据格式,规范本身是传输无关的,可以用于进程内通信、socket套接字、HTTP 或各种消息通信环境。 以太坊应用开发接口的配置 不同节点软件的应用开发接口访问点可能有所区别。常见以太坊节点软件的的默认JSON-RPC端结点如下: Geth - http://localhost:8545 Parity - http://localhost:8545 Pytheapp - http://localhost:4000 以最常见的geth节点软件为例,可以使用--rpc选项启动其基于HTTP的JSON-RPC应用开发接口。 ~$ geth --rpc 可以使用--rpcaddr和--rpcport选项修改默认的监听端口(8545)和监听地址(localhost): ~$ geth --rpc --rpcaddr <ip> --rpcport <portnumber> 如果需要从浏览器中访问RPC接口,需要正确设置CORS,否则由于同源策略的限制