内容简介:对于需要广泛深入的理解bitcoinj,防止缓冲区溢出和Android手机可很好的应用,Java是一个很好的选择。但它也有老问题,冗长而且通常也不适合所有人。本页详细介绍了其他编程开发语言如何使用bitcoinj。Javascript可以使用Java8中提供的Nashorn引擎与Java互操作。我们已经有了这方面的教程!查看入门指南,了解如何设置并查看一些示例。可以使用
对于需要广泛深入的理解bitcoinj,防止缓冲区溢出和Android手机可很好的应用,Java是一个很好的选择。但它也有老问题,冗长而且通常也不适合所有人。
本页详细介绍了其他编程开发语言如何使用bitcoinj。
Javascript
Javascript可以使用 Java 8中提供的Nashorn引擎与Java互操作。我们已经有了这方面的教程!查看入门指南,了解如何设置并查看一些示例。可以使用 jjs
工具从命令行运行访问Java库的Javascript程序。有些项目也提供Node.js API。
Kotlin/Scala
这些语言提供了良好的Java互操作性,并且有许多人将它们与bitcoinj结合使用。
Python
Python有许多粉丝,可以很有趣地进行原型设计。原始的 Python 实现不能与Java代码互操作,但我们可以通过另一种方式使用 Jython 获得访问权限。Jython是Python(2.x)的一个实现,它与原始语言/类库兼容,并提供了一个交互式解释器,就像普通的Python一样,用于探索和学习。只要你不依赖任何自定义的CPython扩展,你就可以直接运行常规Python应用程序,包括UNIX样式的可执行脚本。
为什么要这么做?主要是因为你可以像导入Python类库一样导入Java类库(来自org.bitcoinj.core导入Wallet)。你还可以获得更好的垃圾收集器和真正的多线程支持。
Ruby
与Jython类似,还有 JRuby 。像Jython一样,它在JVM上运行Ruby,具有相同的优点——一个出色的垃圾收集器,与Java代码互操作,真正的多线程支持等等。和Jython一样,唯一有问题的是依赖基于 C语言 的扩展函数模块,但是任何纯 Ruby 语言开发的内容都可以工作。
C#和.NET
bitcoinj可以通过IKVM使用。
C++
目前,C++使用bitcoinj的最简单方法是嵌入JVM并使用自动生成的JNI包。以下是此类程序的示例:
https://github.com/mikehearn/cppjvm/blob/master/mytest/bcj-hello-world.cpp
它依赖于名为CPPJVM的 工具 的分支,它映射了Java类文件,然后生成调用Java方法/读取字段的C++封装的对象。
该工具基于对某些根类的递归检索生成所需的所有类,如下所示:
https://github.com/mikehearn/cppjvm/blob/master/java/cppjvm/morkfile
因为 WalletAppKit
存在并且可以通过此类访问大多数bitcoinj API,所以大多数API都封装好了。如果你丢失了一个片段,你可以将你想要的类添加到该列表中,删除 gen
目录并重新运行make。
回调接口( WalletListener
, PeerEventListener
等)必须手动绑定,但不完整。如果你想使用C++中的bitcoinj,需要自己动手完成。幸运的是,它很容易,而且它们的代码实现并不长:
https://github.com/mikehearn/cppjvm/blob/master/mytest/native-listeners.h
https://github.com/mikehearn/cppjvm/blob/master/mytest/native-listeners.cpp
我们还在探索将bitcoinj源完全自动转换为C++,因此可以在没有任何JVM的情况下使用它。然而,这项工作处于较早的,目前在不太可用的阶段。
Objective-C
Hive团队维护着一个名为BitcoinKit的库,该库专为在MacOS X上构建钱包应用程序而设计。它不会暴露原始的bitcoinj API,而是在顶层提供自己的Objective-C API并使用JNI。
RoboVM可用于将Java编译为在iPhone上运行的ARM二进制代码,并且它具有适用于所有iOS框架的绑定。如果你想用bitcoinj编写一个iPhone应用程序,这将是一个很好的方法。
或者, BreadWallet 是一个iOS SPV钱包,不是基于bitcoinj。代码不是作为库编写的,但可以提取核心代码并将其用于其他目的。
Lisp
biteasy.com上的块浏览器是用Clojure编写的,这是一种在JVM上运行的Lisp。它直接使用了bitcoinj。
我建议你浏览我们的区块链教程和区块链技术博客,深入了解区块链,比特币,加密货币,以太坊,和智能合约。
- 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
- 以太坊开发进阶教程,主要是介绍使用node.js、 mongodb 、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
- java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
- python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
- php以太坊,主要是介绍使用 php 进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
- C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
- php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
- java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
- EOS入门教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
汇智网原创翻译,转载请标明出处。这里是 原文
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
新媒体运营实战技能
张向南 勾俊伟 / 人民邮电出版社 / 2017-5 / 39.80元
《新媒体运营实战技能》共7章。第1章重点介绍了新媒体图片的创意思路及制作技巧,包括微信公众号封面图、信息长图、icon图标、九宫图、gif图片的具体实战操作;第2章重点介绍了创意云文字、微信排版、滑动看图等新媒体文字的排版方法与处理技巧;第3章是新媒体表单,引导读者对表单结构、设计场景及具体应用全面了解;第4章关于H5的创意思路及制作方法,解析了引发H5传播的心理因素,并重点介绍H5的制作工具与具......一起来看看 《新媒体运营实战技能》 这本书的介绍吧!