GithubHelp home page GithubHelp logo

bitcoin-wallet / bitcoin-wallet Goto Github PK

View Code? Open in Web Editor NEW
3.5K 3.5K 1.9K 40.56 MB

Bitcoin Wallet app for your Android device. Standalone Bitcoin node, no centralized backend required.

Java 100.00%
android bech32 bitcoin bitcoin-wallet bitcoinj blockchain java p2p segwit

bitcoin-wallet's Introduction

BITCOIN WALLET

Welcome to Bitcoin Wallet, a standalone Bitcoin payment app for your Android device!

This project contains several sub-projects:

  • wallet: The Android app itself. This is probably what you're searching for.
  • market: App description and promo material for the Google Play app store.

PREREQUISITES FOR BUILDING

You'll need git, a Java 11 SDK and Gradle between 4.4 and 6.9.x for this. We'll assume Ubuntu 22.04 LTS (Jammy Jellyfish) for the package installs, which comes with OpenJDK 11 and Gradle 4.4.1 out of the box.

# first time only
sudo apt install git gradle openjdk-11-jdk

Create a directory for the Android SDK (e.g. android-sdk) and point the ANDROID_HOME variable to it.

Download the Android SDK Tools and unpack it to $ANDROID_HOME/.

Finally, the last preparative step is acquiring the source code. Again in your workspace, use:

# first time only
git clone -b main https://github.com/bitcoin-wallet/bitcoin-wallet.git bitcoin-wallet
cd bitcoin-wallet

BUILDING

You can build all sub-projects in all flavors at once using Gradle:

# each time
gradle clean build

For details about building the wallet see the specific README.

REPRODUCIBLE BUILD

Alternatively, you can build using buildah:

# each time
buildah build --cap-add sys_admin --device /dev/fuse --file build.Containerfile --output build/ .

Access to FUSE and the SYS_ADMIN capability are needed for mounting disorderfs in order to sort the directory entries of the project folder.

The unsigned APKs are written to the specified output directory.

bitcoin-wallet's People

Contributors

cornwarecjp avatar davisnt avatar dejvo avatar emzy avatar evil-maid avatar gitju avatar haplo avatar harryols avatar jonathancross avatar langerhans avatar ligi avatar macarse avatar mirobit avatar mmazi avatar oscarguindzberg avatar patheticpat avatar petr-kalinin avatar pryds avatar py4x3g avatar saivann avatar sandakersmann avatar schildbach avatar serans1 avatar shawe avatar taku0 avatar thebluematt avatar thokon00 avatar w-shackleton avatar y12studio avatar zagaberoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bitcoin-wallet's Issues

bitcoin:... URIs not recognized in QR codes

When scanning QR codes that contain BIP21 URIs (https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki), I don't get the expected functionality but an error message instead.

This is especially strange, as clicking on such an URI in a browser and selecting bitcoin-wallet as handler or scanning it with a QR reader manually and "open with browser" (then selecting bitcoin-wallet) indeed DOES work as expected (fields are filled with the amount, note or label as in the URI).

Please also handle QR codes with BIP21 content scanned directly from within the app the same as ones that you receive from external applications.

Wallet backup

Hi

I lost my phone, hopefully I had made a couple of backups and I've them (the bitcoin-wallet-keys... files) Now... how do I restore it? Do i have to install your android app again and what else should I do?

The backup email says:

"The attached encrypted file contains Bitcoin private keys and should be kept safe at all times. Don't forget the encryption password!"

What's the encryption password? Was this asked when I created the backup? I may remember it, but i don't remember I was asked for a password when doing the backup.

If i made this backup, let's say, 2 months ago, and I added a couple of BTC to my wallet 1 month ago... does this backup will reflect the new amount?

Thanks

how to use backup to get my coin back

Hi,

My samsung galaxy decided to do a factory reset and as a result my bitcoin wallet has been deleted from my phone.

I did backup my wallet after creating it and had an email sent to me with private key back up. Now I wonder how to re install my wallet so I get access to my bitcoin.

I reinstalled the bitcoin wallet app, but obviously I have a different address now and cant see my bitcoin.

Can someone please help out.

Backup keys won't restore

I've got a backup and the password but when I try to restore I get a message 'cannot read keys', which is at least different from the 'Could not decrypt input string' that you get if you put in the wrong password. Decrypting the backup on my linux box with openssl enc -d -aes-256-cbc -a -in $cipher_txt -out plain.txt -pass pass:$password works without complaint. Sadly, this is a live-fire test as there's real money in this wallet that I don't have other access to. Help! I'd be happy to give the backup and a password to a dev who thinks he can help, but would rather not post them here.

Feature Request: Ask for wallet encryption password before sending BTCs

There should be an optional setting to protect the wallet from unwanted spending by strangers.

When the user performs a wallet encryption keys backup, she has to enter an encryption password, this same password could be used before sending transactions (just like on Bitcoin-Qt for desktop)

before backing up the wallet, there could be a checkbox there:

[x] Also use this private key password before sending Bitcoins

This setting could be accessed through the Settings screen and it can only be turned off if the user enters the same password.

Stop showing from addresses in the UI

In the best case when there's no malicious intent, a from address on an inbound transaction merely makes the UI look scary and tells the user nothing.

If the worst case, it opens up a vector for spamming the user with messages if they connect to a bad node.

Therefore, wallet apps should not show it in any circumstance.

Scanning a QRcode that does not include an address component crashes

  1. Go to Gavin's generator and create a bitcoin URI. It will look like:

bitcoin:?r=http%3A%2F%2Fbitcoincore.org%2F%7Egavin%2Ff.php%3Fh%3D27b38af94a7ad733d329f7302a107076

  1. Turn this into a QR code

  2. Scan. Crash due to BitcoinURI.getAddress() returning null and then getNetworkParameters() being invoked on it. In the case where no address is present, the code should just assume the URL matches the current network params and catch the mismatch later once it's downloaded.

Feature idea: Bitcoin URIs and payment requests embedded in http links to be clickable in more places

Hi Andreas,

my understanding is, that Android allows to set intent filters on web links for a specific domain or path pattern (for example the YouTube app does so for YouTube links). I was thinking it might be useful to specify certain 'magic' links, for example:

https://bitcoin.org/intents/bip21/175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1

which would simply be an alternative way of specifying:

bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1

The app could then set a filter for https://bitcoin.org/intents/bip32 and be registered as a handler for these links.

The advantage would be, that these links are also clickable in a text message, a Hangout message or even a Whatsapp message, where bitcoin-URIs are not (yet) recognized.

What do you think about that?

Thanks,
Jan

When trying to transfer 0.001 bitcoin it transfers 0.0001 bitcoin which doesn't get confirmed

I tried to transfer 0.001 bitcoin to another bitcoin address which is part of my wallet with Send coins. I typed in 0.001 bitcoins but when I look at the transfers it says it transferred 0.0001 bitcoin. These transfers also do not get confirmed. If I open them in block explorer it says that there is no such transaction.

When I look up in blockexplorer my bitcoin balance of the originating address I see the old balance. The wallet app shows a balance that is 0.0001 less

checkpoint file is created how?

How is a checkpoint file created in practice?
If I have a checkpoint at block {block} and the hash is {hash} how can I create a new checkpoint file from these 2 values? Is there a program in the source code that takes 2 parameters and then creates a new one or do I have to calculate it by my own and put the result in a file?

Export Private Key to Desktop Client

How does one import the Android wallet private key (encrypted) into Bitcoin QT or other Desktop client?

Did not see a wiki article on it, so I am raising an issue. Thanks.

App crash: blockchain out of sync, java out of memory

The application is very unresponsive and eventually Android pops up a "not responding, wait or close?" dialog or just a "app has crashed, sorry" dialog.

Looking at the error log I see:

java.lang.RuntimeException: wallet/blockchain out of sync: 275595/275644
at de.schildbach.wallet.service.BlockchainServiceImpl$3.check(BlockchainServiceImpl.java:395)

or

java.lang.OutOfMemoryError
at de.schildbach.wallet.util.Qr.bitmap(Qr.java:63)

I've tried to reset the blockchain once, but it resulted in the same error. I've sent you 5 crash reports, so hopefully something there is helpful.

Exchange rate list not jumping to selected rate any longer

When accessing the exchange rates list, the app used to jump to the currently selected currency (e.g. EUR). Ever since the latest two updates, in the past one or two weeks, this is not the case any longer. I'm now running 3.34.

I found this behaviour quite handy to be able to quickly check the current rate. I'd love to see it restored since the list is quite long.

Lazy logger initiation

I am want implement on demand logger initialization, with cleaning when unnecessary.
I am right, that realisation of this idea should be here wallet/src/de/schildbach/wallet/util/Logger.java
?

"up" button on "send coins" screen doesn't always go up

As I'm sure you know, the "up" button on the action bar is supposed to go to the above screen in the application, rather than the previously visited screen like the "back" button does. If I am not using the main wallet activity, and I scan an NFC tag containing a bitcoin URL, the "Send Coins" activity appears, as I'd expect. (I assume but haven't checked that this works the same way if I get the URL by other means, such as by clicking a link in a browser.) This activity has the "up" button in the action bar. When I tap it, I would expect to go to the main wallet activity, but it instead goes back to the activity I was using before.

I only noticed because I've been looking at the same problem in my app today :-)

Feature request: export all transactions

Would be great if we could export a complete list of all transactions to CSV, etc.
Currently this information is lost if phone dies, app is uninstalled or migrated to a new phone, etc.

Bonus: Would be great to make compatible with MultiBit csv export.

Arch Linux, bitcoin-wallet fails to build

mvn --version
Apache Maven 3.1.1 (NON-CANONICAL_2013-10-11_13-55_root; 2013-10-11 02:55:32-0700)
Maven home: /opt/maven
Java version: 1.7.0_45, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.12.6-1-arch", arch: "amd64", family: "unix"

When I run mvn clean install, it fails with the following error:

[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Bitcoin Wallet 3.32-test
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for com.google:bitcoinj:jar:0.11 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] base .............................................. SUCCESS [0.635s]
[INFO] Bitcoin Integration for Android ................... SUCCESS [1.959s]
[INFO] Bitcoin Wallet .................................... FAILURE [0.193s]
[INFO] Sample for Bitcoin Integration for Android ........ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.023s
[INFO] Finished at: Fri Feb 07 17:54:46 PST 2014
[INFO] Final Memory: 23M/170M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project wallet: Could not resolve dependencies for project de.schildbach.wallet:wallet:apk:3.32-test: Failure to find com.google:bitcoinj:jar:0.11 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :wallet

I examined the possible solutions to the issue at http://code.google.com/p/bitcoin-wallet/issues/detail?id=225, but nothing helped.

I am a candidate for CNO of Memorycoin and I am attemping to port this wallet for that network. Hopefully you can help me out. The app is awesome on my Nexus 7. Thanks!

Old address inaccessible after internal wash

Back in Mid August, there was some sort of internal wash of bitcoin, and the balance of the old address was moved to a new address.

However, I just found out people have been sending payments to one of the old addresses. Since then, I've gotten a new phone, and restored keys that were backed up. It seems I no longer have access to the original address, which now has .85BTC collected on it.

Here is the blockchain.info link of the transaction: https://blockchain.info/tx/8cbb9ea385426c9a0e7fef56cb09067aa0945d7fb2cde926de4ee87344d1de78

The old address that has a non-zero amount of bitcoin is:
https://blockchain.info/address/1LV8iTmtGXfWkmuSzmLvaC6XWMZ7db3bqD

What can I do?

Default address as change address

Not sure if this is a bug report or a feature request.

I would like the option of specifying change address. My first thought was that change address is the same as the default address among my addresses in the address book. However this seem not to be the case. Whenever I send something all change is sent to the address in my wallet that was created first, my oldest address.

How are transactions encoded in the qrcode?

Forgive me if I am overlooking something obvious, but I want to be able to create offline transactions encoded as a qrcode that can be read with the bitcoin-wallet app. What I would like to do is print a transaction for someone I want to do business with. Beforehand I get their public key and print out a signed transaction. When everything is happy I give them the paper and they get to broadcast the transaction. I cannot seem to figure out how it is encoded. If anyone could tell me or point me in the right direction I would be appreciative.

IOException when restoring keys causes app crash

Crash when restoring keys from Google Drive, reported by Dirk

E/AndroidRuntime(13586): FATAL EXCEPTION: main
E/AndroidRuntime(13586): Process: de.schildbach.wallet, PID: 13586
E/AndroidRuntime(13586): java.lang.RuntimeException: java.io.FileNotFoundException: /data/data/com.google.android.apps.docs/files/fileinternal/b261dd8a54cb1fab65a878d3058a7816/Bitcoin Wallet 2014-01-12: open failed: EACCES (Permission denied)
E/AndroidRuntime(13586): at de.schildbach.wallet.ui.ImportKeysActivity$1.onClick(ImportKeysActivity.java:116)
E/AndroidRuntime(13586): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
E/AndroidRuntime(13586): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(13586): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(13586): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime(13586): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(13586): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(13586): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/AndroidRuntime(13586): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime(13586): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(13586): Caused by: java.io.FileNotFoundException: /data/data/com.google.android.apps.docs/files/fileinternal/b261dd8a54cb1fab65a878d3058a7816/Bitcoin Wallet 2014-01-12: open failed: EACCES (Permission denied)
E/AndroidRuntime(13586): at libcore.io.IoBridge.open(IoBridge.java:409)
E/AndroidRuntime(13586): at java.io.FileInputStream.(FileInputStream.java:78)
E/AndroidRuntime(13586): at java.io.FileInputStream.(FileInputStream.java:105)
E/AndroidRuntime(13586): at android.content.ContentResolver.openInputStream(ContentResolver.java:627)
E/AndroidRuntime(13586): at de.schildbach.wallet.ui.ImportKeysActivity$1.onClick(ImportKeysActivity.java:110)
E/AndroidRuntime(13586): ... 9 more
E/AndroidRuntime(13586): Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
E/AndroidRuntime(13586): at libcore.io.Posix.open(Native Method)
E/AndroidRuntime(13586): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
E/AndroidRuntime(13586): at libcore.io.IoBridge.open(IoBridge.java:393)
E/AndroidRuntime(13586): ... 13 more 11:51:46 PM

Widget balance cut off at the bottom in landscape mode

Some phones come with home screens that can be used in landscape mode. And a lot of custom launchers too. When using the widget in Nova Launcher in landscape, my account balance is cut off at the bottom by the widget border. I would prefer if in landscape, it was shown to the right of the BitCoin icon instead.

Is it a good idea to include block headers with .apk package?

Hello, thank you dev(s) for excellent app. I think it's a good idea to include the block headers with the apk, such that when the user downloads the app from the Google Play marketplace, the headers are downloaded as well. I don't think this violates the trust model at all, because the app compiler or Google could modify the code anyway.

Use case: Suppose the user pays for cellular data and has intermittent wifi. User downloads the app on wifi, but doesn't run it yet. Currently, the user must then use cellular data to download the headers to use the app. If the headers were included in the app, the user would use wifi to download the headers and the app would load more quickly. Furthermore, the user would know the app will use X space, rather than initially thinking the app will take ~3MB and it turns out it takes over 20MB.

Finally, the headers size of ~19mb is the perfect size for this feature: it's large enough that pre-downloading is worth the effort, but small enough that the Google marketplace will host the data.

Cheers

Buy BTC directly from the app

This could be done by several in-app payment methods (example: zooz payments).
Perhaps Google play payment could be used as well, as long as they don't take 30% off the transaction.

No way to resend a transaction if something goes wrong

I recently tried to send bitcoin to a couple while at a coffee house. My phone had connected automatically to the wifi network, which required a login. The wallet app seemed to think the transaction had been sent, and the UI locked up my bitcoin in it, but the network never actually saw my transaction. This sometimes happens with MultiBit as well, and I'm able to remedy the problem by telling it to rescan the last fews days of transactions on the blockchain. Here, however, there does not seem to be a workaround. I've been trying to get this cafe to accept bitcoin, but if their wifi network eats transactions and there's no way to resend a transaction, that could be a major pain point for them.

Feature request: Specify miner fee when sending

I've seen that you can specify a sort of fee you pay to the miners that handle your transactions on some sites and in some wallets.

I wonder if you could add a field where you can specify such a fee to the send screen in the app. I would like this field to have a sensible default value, which could be edited in the settings.

GBP exchange rates - using mtGox when that is not realistic

Now that MtGox appears to be in terminal decline, using it as the basis for the exchange rates seems problematic. This is especially evident with the BTC->GBP estimates
Can you consider either just using the 'bitcoinaverage.com' weighted 24hr average exchange rate, or allowing the user to select which exchange they trust for a particular national currency.

Exporting Keys: Only to external storage

Hallo,

I tried to export my private keys, but this is only possible to the external storage. Unfortunately, I do not have one. However, I have an internal storage which I can connect via USB to a computer and then read the files. Can you support writing the files to the internal storage so that I can read them via USB?

Thank you.

Repeatedly asks to turn on blueooth

If the "Bluetooth offline transactions" option is enabled and you go to the Receive tab, Android will ask you to turn on blueooth. But if/when you say no, the wallet will keep trying to turn bluetooth on.

It should either just accept that bluetooth can't happen (and show a message near the qrcode) or offer to disable the accept offline transactions option completely.

cannot send coins when having a large list of transactions

I have been using this wallet for a long time. But recently, with the increase of transactions, i have found that the wallet is always "Not Respoding" for minutes, and after that you can see your banlance and transactions. But cannot send coins! It is stuck at "Sending" state. I have tried to backup and recover in another phone which is not helpful. Hope to solve this ASAP! Thanks!

backup reminder

I think it would be interesting to add a backup reminder, I've just updated my cyanogenmod and forgot that flashing the firmware erases the apps and their data.

Now I installed and created a backup after that. Sent an email with the copy to me, parhaps this may be "enforced", since many users may not know the risks.

RFE: Import paper wallet/vanity/other private keys

I am opening this as a master bug to follow up and document numerous previous requests for private key importing in the previous bug tracker, and so future requests can be marked as duplicate/merged into this one.

It would be particularly useful to be able to import private keys from the graphical user interface in a friendly manner (QR code scan) now that more people are using them to give Bitcoin as gift, and more ATMs are being installed that print paper wallets. Being able to import vanity addresses and moving Bitcoin from off-line/cold-storage would also benefit from this and make Bitcoin Wallet feature-complete for such use cases.

When such wallets need to be imported, right now the only other options are either third party websites and services you have to trust implicitly (like blockchain.info) or applications that can't be redistributed and shared frely because of their choice of restrictive licensing (most notable, mycellium).

This bug report mentions it's possible as documented in the README but the current version of such file doesn't mention it (Nov.2012) - it actually refers to re-importing backups from the same app:
https://code.google.com/p/bitcoin-wallet/issues/detail?id=84

Later in Nov. 2013 there is a comment in another related bug:
"Paper wallets/private key import cannot work with SPV clients [...]"
https://code.google.com/p/bitcoin-wallet/issues/detail?id=244

Related:

QR code of private key does not allow sending FROM but implies sending TO the respective address

I would expect that I could "swipe" a private key I scan to my Bitcoin wallet (e.g. I have a paper wallet that I break open and want to import some or all of the funds to my mobile phone wallet).

Currently when scanning a private key I am thrown at the "send" functionality though and it offers me to send towards the address that this private key would create.

All in all I'd like to have a "swipe to wallet" or at least "spend from a scanned private key" functionality instead of the current functionality.

Duplication of ActionBar items

Action bar items get duplicated every time you:

  1. Go to "Address Book" ("Label" icon on Action Bar),
  2. Click "Scan Address" ("Camera" icon on Action Bar)
  3. Phone rotates
  4. Press "Back"
  5. Rotate it back
  6. Items are rendered twice as in: http://goo.gl/g04JF4

Backup keys

I have my backup keys, however they are not compatible with my blockchain wallet, even though they are both .aes.json files. Is there anyway to convert the backup to a file which will work with the 'add wallet' within my blockchain wallet? I can add it by address but then it is just read (transactions and balance) only. My other wallets from desktop clients I was able to add the plain .json to blockchain to be able to access them all from one place.

Thanks.
Chris

Verified by: unknown

Opening the "multiple outputs" example from wallet.schildbach.de with 3.31 beta worked for me, but it said "verified by: unknown"

I couldn't actually find where in the code PaymentSession is used, so perhaps, this is not intended to work yet?

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.