チュートリアル:シンプルなGUIウォレットの構築

概要 ステップ1.コードをコピーし、パッケージの名前を変更 ステップ2.トランザクションリストをUIに追加 ステップ3.トランザクションの表示をカスタマイズ 概要 bitcoinjには、ソースコードの一部に基本的なGUIウォレットアプリケーションが付属しています…

Access Modifiers

Access Modifiersの役割 Access Modifiersの定義 サンプルコード Access Modifiersの役割 クラス同士おけるメンバメソッドやメンバ変数のアクセス制御を行う アクセス制御を行う事でカプセル化(他のクラスから干渉されない)が可能になる Access Modifiers…

Super

superの役割 superの定義 サンプルコード superの役割 子クラスから親クラスのメンバ(フィールド・メソッド)を操作する場合に使う superの定義 子クラスが親クラスを継承し、インスタンスのメンバにアクセスする(親のコンストラクタに引数を渡す)場合に…

Abstract

Abstractの役割 Abstractの定義 サンプルコード Abstractの役割 詳細な処理内容が確定していない未完成のクラスやメソッドであることを宣言する。 ①メソッドの場合「何も処理をしないメソッド」ではなく「現時点では処理内容を確定していないメソッド」を意…

Generics

ジェネリクスの役割 ジェネリクスの定義 サンプルコード ジェネリクスの役割 ①実行時ではなくコンパイル時にキャストミスを判別することが出来る ②コードを見た時に何の型を扱っているのか分かりやすい ジェネリクスの定義 総称型 汎用的なクラスやメソッド…

機能の制限と欠如

【目次】 導入 バグやその他の問題 セキュリティ上の問題 合意 プライバシーの問題 プロトコルコンプライアンス マイクロペイメントチャネル APIの欠点 導入 bitcoinjは進行中のプロジェクトであり、重要性の高い機能がいくつか欠けています。また奇妙な癖や…

アプリの異なるコンポーネントがどのように連携してフィットするか

【目次】 概要 ネットワーク デシリアライズ/シリアライゼーション*4 ピアのロジック メモリプール チェーンとストア データのプルーニング ウォレット 概要 この記事では、典型的なbitcoinjベースのアプリケーションのさまざまなオブジェクトとインターフェ…

GradleとMavenの使用方法

【目次】 Gradleの使用方法 Mavenの使用方法 Mavenのセキュリティー Gradleの使用方法 Gradleは元々Hans Dockterのプラグインベースのビルドシステムで、MavenとAntの良いとこ取りのシステムです。 プロジェクトでGradleをビルドに使用している場合は、build…

bitcoinjの入門

【目次】 概要 初期設定 基本構造 設定 キーとアドレス ウォレットアプリキット イベントの処理 GUIアプリケーションの作成に関する注意 コインの受け取り コインの送金 送金処理のカスタマイズと手数料設定 次のステップ 概要 このドキュメントはbitcoinjラ…

bitcoinjの概要

【目次】 bitcoinjとは? 特徴 bitcoinj入門 ライセンス ドキュメンテーション 基礎 CoreAPI bitcoinjの動画 高度な機能 コミュニティ bitcoinjとは? bitcoinjはBitcoinプロトコルを扱うライブラリです。 BitcoinCoreのローカルコピーなしにウォレットを維…

Transaction Malleability

Overview The transaction can hold multiple transaction hashes while keeping the validity of the signature. So, double payment becomes possible by changing the expression without changing the meaning of the input script. This characteristic…

Mining

Overview The Mining has two meanings.・Currency supply mecanism ・Decentralized emergent consensus ①Currency supply mechanism At a point of jan 2009, Remuneration of mining for 1 block was 50BTC. In other word, mining means that supply new…

Blockchain

Overiew Blockchain is transaction database shared by all nodes participating in system based on Bitcoin protocol. The full copy of blockchain contains every transaction ever executed in the currency.With this information, one can find out …

Network

Overview Bitcoin is builded as peer-to-peer(P2P) network on internet. P2P network is essentially decentralize and open. This network is formed by connecting mutually equal nodes. we calling computer terminal participating in the network as…

Transaction

Overiew Transaction is encoded data stracture that value transfer between participants in Bitcoin sistem. Individual transaction add into blockchain as global ledger. Anyone can see each transaction in the blockchain. Basic component of tr…

Encrypted Private Keys

key

Overview BIP0038 propose standerd specification that encrypting private key by passphrase and encode in Base58Chack.Even in situation where the key is exposed,It will be able to save to safe backup media and transfer between wallets.When p…

Hierarchical Deterministic Wallets

Oveview The type is leading-edge deterministic wallets that are described in BIP 0032.Just have to copy root-seed,You can restore overall HD wallet,backup of millions keys or HD wallet , and export. It can generate public key without users…

Mnemonic code

Overview Mnemonic code is English words representing random numbers used as Wallet master keys. Passphrase is easy to remember for human beings(passphrase 12 to 24 words). Mnemonic is used to regenerate the seed (master key), regenerating …

Key format

key

Overview Bitcoin has notation method of some kinds in private key and public key.Why Bitcoin has some kinds of notation? Because if you adopted compressed notation, It's possible to reduce the size of the public key by 50%! That means we c…

Address

Overview Bitcoin address represent receiver of funds,it look like bank account. The address produced from public key. Show below example of a bitcoin address:Bitcoin address example 15oYSxBcM5deLicKoqwNL2iuAJXpdoc3GL ※27-32 digit alphanume…

Public key

key

Overview Public key indicate to destination of funds. The public key is private key encrypted with elliptic curve cryptography.Public key example 0458e0d3f7cd6d54347a25523dee480199e59541d849abcd4223538397ded94 e30f4f10af03bb48a1af2051c529f…

Elliptic curve cryptography

Overview This article speaks about elliptic curve to base on Elliptic Curve Cryptography(ECC).y^2=x^3+ax+bWhen this equation solution equal "zero",the point connection become elliptic curve. case of a=-1,b=1: y^2 = x^3 - x + 1 Finite field…

Private key

key

Overview One of the key pairs in public key cryptography is the private key. Use the private key to control access to transaction. Private key was chosen randomly integer (256 bit) from between 1 to p. "p" is「2^256 - 2^32 - 2^9 - 2^8 - 2^…

Public key cryptography

Overview Bitcoin adopts public key cryptography for bitcoin exchange. By knowing about algorism of public key cryptography, easy to get understanding about private key and public key. Now I'd like to talk about cryptography used some publi…

P2P 電子マネーシステム

【目次】 概要 序論 トランザクション タイムスタンプサーバー プルーフオブワーク(POW) ネットワーク インセンティブ ディスクスペースリクレイム 簡易版支払い検証(SPV) 価値の結合や分割 プライバシー 計算 結論 概要 純粋なP2P電子マネーによって、金…