Code Monkey home page Code Monkey logo

walletcore's Introduction

Trust Wallet Core is an open-source, cross-platform, mobile-focused library implementing low-level cryptographic wallet functionality for a high number of blockchains. It is a core part of the popular Trust Wallet, and some other projects. Most of the code is C++ with a set of strict C interfaces, and idiomatic interfaces for supported languages: Swift for iOS and Java (Kotlin) for Android.

iOS CI Android CI Linux CI Wasm CI Kotlin CI Docker CI Quality Gate Status

Gitpod Ready-to-Code GitHub GitHub release (latest by date) SPM Cocoapods

Documentation

For comprehensive documentation, see developer.trustwallet.com.

Supported Blockchains

Wallet Core supports more than 130 blockchains: Bitcoin, Ethereum, BNB, Cosmos, Solana, and most major blockchain platforms. The full list is here.

Building

For build instructions, see developer.trustwallet.com/wallet-core/building.

Using from your project

If you want to use wallet core in your project follow these instructions.

Android

Android releases are hosted on GitHub packages, you need to add GitHub access token to install it. Please check out this installation guide or build.gradle from our android sample

Don't forget replacing the version in the code with latest: GitHub release (latest by date)

iOS

We currently support Swift Package Manager and CocoaPods (will discontinue in the future).

SPM

Download latest Package.swift from GitHub Releases and put it in a local WalletCore folder.

Add this line to the dependencies parameter in your Package.swift:

.package(name: "WalletCore", path: "../WalletCore"),

Or add remote url + master branch, it points to recent (not always latest) binary release.

.package(name: "WalletCore", url: "https://github.com/trustwallet/wallet-core", .branchItem("master")),

Then add libraries to target's dependencies:

.product(name: "WalletCore", package: "WalletCore"),
.product(name: "SwiftProtobuf", package: "WalletCore"),

CocoaPods

Add this line to your Podfile and run pod install:

pod 'TrustWalletCore'

NPM (beta)

npm install @trustwallet/wallet-core

Go (beta)

Please check out the Go integration sample.

Kotlin Multipleplatform (beta)

Please check out the Kotlin Multiplatform sample

Projects

Projects using Trust Wallet Core. Add yours too!

Trust Wallet

Coinpaprika | crypto.com | Alice | Frontier | Tokenary | MemesWallet | xPortal | Slingshot

Community

There are a few community-maintained projects that extend Wallet Core to some additional platforms and languages. Note this is not an endorsement, please do your own research before using them:

Contributing

The best way to submit feedback and report bugs is to open a GitHub issue. If you want to contribute code please see Contributing. If you want to add support for a new blockchain also see Adding Support for a New Blockchain, make sure you have read the requirements section.

Thanks to all the people who contribute.

Disclaimer

The Wallet Core project is led and managed by Trust Wallet with a large contributor community and actively used in several projects. Our goal at Wallet Core is to give other wallets an easy way to add chain support.

Trust Wallet products leverage wallet core, however, they may or may not leverage all the capabilities, features, and assets available in wallet core due to their own product requirements.

License

Trust Wallet Core is available under the Apache 2.0 license. See the LICENSE file for more info.

walletcore's People

Contributors

hewigovens avatar optout21 avatar alejandro-isaza avatar milerius avatar satoshiotomakan avatar vikmeup avatar leoneparise avatar rsrbk avatar miloserdow avatar maximpestryakov avatar eddywm avatar bsathvik avatar keefertaylor avatar johnnynanjiang avatar madcake avatar artemgoryunov avatar vcoolish avatar andreibancioiu avatar lamafab avatar w20089527 avatar riptl avatar dstranz avatar ayushbherwani1998 avatar criesofcarrots avatar kurotych avatar pirk avatar phuang avatar bravoadam avatar grachyov avatar nashmiao avatar

Watchers

Sammy filly  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.