crate.ioに公開されていないrustのクレートをgithubから利用する方法。
Cargo.tomlで指定する
Specifying Dependencies - The Cargo Book
cargoのドキュメントにgithubからもってくる方法が書かれています。
インストールしたいパッケージ名を指定します。
git
にリポジトリのアドレスを値として渡します。
ブランチなどを指定したい場合はそれぞれの指定できます。
{ git = "https://github.com/paritytech/parity-bitcoin.git" branch = <branch name> tag = <tag name> rev = <value>}
[dependencies]
keys = { git = "https://github.com/paritytech/parity-bitcoin.git" }
parityのbitcoinライブラリを例にします。
paritytech/parity-bitcoin: The Parity Bitcoin client
これで$ cargo build
すればクレートとしてインストールされます。
インストールされたクレートを利用する
keys
クレートを利用します。
extern crate keys;
extern crate keys;
use keys::generator::Generator;
fn main() {
let keypair = keys::generator::Random::new(keys::Network::Mainnet);
let generated = keypair.generate();
println!("{}", generated.unwrap())
}
これを実行するとsecp256k1のキーペアを生成してくれます。