spesmilo / electrum-docs Goto Github PK
View Code? Open in Web Editor NEWDocumentation for Electrum Bitcoin Wallet
Home Page: https://docs.electrum.org/
License: MIT License
Documentation for Electrum Bitcoin Wallet
Home Page: https://docs.electrum.org/
License: MIT License
I understand that you can't get both TLS and custom domain for free with readthedocs.io, but I think it's essential to have traffic encryption by default. With plain HTTP, MITM (e.g. Tor exit node) could mess up with the docs and potentially direct someone to download their patched Electrum version.
This page suggest how you can set up TLS with your HTTP server: https://docs.readthedocs.io/en/latest/alternate_domains.html
Alternatively, you can just redirect to https://electrum.readthedocs.io
Tails page updated to Version 4 referencing the now-working Electrum.
EDIT: SomberNight made a page about sending to multiple addresses in a single transaction based on this but I don't see it now.
EDIT AGAIN: Found it in the FAQ, looks like it was prior to the last rebuild. The only updated page right now is the Tails.
In new Electrum versions Save button is used to store the transaction locally (in wallet file) but before it was doing the Export button. The docs still tell users to click "Save" which is creating confusion, it needs to be changed to Export:
https://github.com/spesmilo/electrum-docs/blob/master/coldstorage.rst#create-an-unsigned-transaction
so i changed the logs like you said now it says can't connect to proxy server.
Please add basic usage examples:
https://electrum.org/#community says
Documentation: http://electrum.readthedocs.org
https://electrum.org/#documentation says
The documentation is hosted on docs.electrum.org
I would be consistent, even if all actually point to the same place.
http://docs.electrum.org/ should have a link back to http://electrum.org/ added.
1HHAJNBKcxdyvHHkbJi9FbfdynnYk3BxQs
I'm using Electrum 3.3.8. In the Tool/Network/Proxy tab, I used to have a "Tor" button that I could select but it disappeared suddenly and I'm not able to get it back, even by uninstalling and reinstalling Electrum. I'm not able to connect to my node anymore since that bug appeared.
See print screen of what I now see (only the proxy option):
The instructions for creating a watch-only wallet for cold storage show out-of-date GUI screens:
electrum-docs/png/restore.png
The new method is:
Then continue as before (paste xpub)
I have searched entire document and internet to find rpc request to send btc, but could not find any information related to this.
Please guide me, as my development got stuck.
In more than 50% of the cases this error is returned:
Traceback (most recent call last): File "/usr/local/bin/electrum", line 5, in pkg_resources.run_script('Electrum==2.7.0', 'electrum') File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 528, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1394, in run_script execfile(script_filename, namespace, namespace) File "/usr/local/lib/python2.7/dist-packages/Electrum-2.7.0-py2.7.egg/EGG-INFO/scripts/electrum", line 319, in run_non_RPC(config) File "/usr/local/lib/python2.7/dist-packages/Electrum-2.7.0-py2.7.egg/EGG-INFO/scripts/electrum", line 167, in run_non_RPC wallet.storage.write() File "/usr/local/lib/python2.7/dist-packages/Electrum-2.7.0-py2.7.egg/electrum/wallet.py", line 160, in write os.rename(temp_path, self.path) OSError: [Errno 2] No such file or directory
Tested on current archlinux and windows7 sp1.
The client crash after the password creation screen.
Details :
-Selected the wallet type
-Selected I already have a seed
-Selected keep using 2FA
-type a password to encrypt the wallet and click next
The client crash
full log
File "electrum", line 378, in <module> d.init_gui(config, plugins) File "/home/user/Electrum-2.8.0/lib/daemon.py", line 283, in init_gui self.gui.main() File "/home/user/Electrum-2.8.0/gui/qt/__init__.py", line 200, in main if not self.start_new_window(path, self.config.get('url')): File "/home/user/Electrum-2.8.0/gui/qt/__init__.py", line 161, in start_new_window wallet = wizard.run_and_get_wallet() File "/home/user/Electrum-2.8.0/gui/qt/installwizard.py", line 259, in run_and_get_wallet self.run(action) File "/home/user/Electrum-2.8.0/lib/base_wizard.py", line 59, in run apply(f, args) File "/home/user/Electrum-2.8.0/lib/base_wizard.py", line 86, in new self.choice_dialog(title=title, message=message, choices=choices, run_next=self.on_wallet_type) File "/home/user/Electrum-2.8.0/gui/qt/installwizard.py", line 90, in func_wrapper apply(run_next, out) File "/home/user/Electrum-2.8.0/lib/base_wizard.py", line 104, in on_wallet_type self.run(action) File "/home/user/Electrum-2.8.0/lib/base_wizard.py", line 56, in run apply(f, (self,) + args) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 344, in show_disclaimer wizard.confirm_dialog(title='Disclaimer', message='\n\n'.join(DISCLAIMER), run_next = lambda x: wizard.run('choose_seed')) File "/home/user/Electrum-2.8.0/gui/qt/installwizard.py", line 90, in func_wrapper apply(run_next, out) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 344, in <lambda> wizard.confirm_dialog(title='Disclaimer', message='\n\n'.join(DISCLAIMER), run_next = lambda x: wizard.run('choose_seed')) File "/home/user/Electrum-2.8.0/lib/base_wizard.py", line 56, in run apply(f, (self,) + args) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 353, in choose_seed wizard.choice_dialog(title=title, message=message, choices=choices, run_next=wizard.run) File "/home/user/Electrum-2.8.0/gui/qt/installwizard.py", line 90, in func_wrapper apply(run_next, out) File "/home/user/Electrum-2.8.0/lib/base_wizard.py", line 56, in run apply(f, (self,) + args) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 406, in restore_wallet wizard.restore_seed_dialog(run_next=f, test=self.is_valid_seed) File "/home/user/Electrum-2.8.0/gui/qt/installwizard.py", line 90, in func_wrapper apply(run_next, out) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 405, in <lambda> f = lambda seed, is_bip39, is_ext: wizard.run('on_restore_seed', seed, is_ext) File "/home/user/Electrum-2.8.0/lib/base_wizard.py", line 56, in run apply(f, (self,) + args) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 410, in on_restore_seed wizard.passphrase_dialog(run_next=f) if is_ext else f('') File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 409, in <lambda> f = lambda x: self.restore_choice(wizard, seed, x) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 423, in restore_choice wizard.choice_dialog(choices=choices, message=msg, title=title, run_next=f) File "/home/user/Electrum-2.8.0/gui/qt/installwizard.py", line 90, in func_wrapper apply(run_next, out) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 422, in <lambda> f = lambda x: self.on_choice(wizard, seed, passphrase, x) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 430, in on_choice self.create_keystore(wizard, seed, passphrase) File "/home/user/Electrum-2.8.0/plugins/trustedcoin/trustedcoin.py", line 380, in create_keystore wizard.request_password(run_next=lambda pw: self.on_password(wizard, pw, k1, k2)) File "/home/user/Electrum-2.8.0/gui/qt/installwizard.py", line 90, in func_wrapper apply(run_next, out) TypeError: <lambda>() takes exactly 1 argument (2 given)
This document:
https://github.com/spesmilo/electrum-docs/blob/master/build.rst
Is broken when viewed on the web:
Hi Devs
i believe there used to be option to deduct fee from the amount you are sending, it is no longer available i see on the Electrum wallet. I am willing to pay anyone to add this feature as i do batch of transaction everyday.
thanks
I installed electrum , it has not asked me for the password it has not shown me the seed.
I think that this has happened because probably the electum wallet during the new installation has recovered data from an old installation.
Unfortunately I have not been paying attention to this, the wallet was activated immediately and i send bitcoin to it from a bitcoin core wallet. ,...... Now my bitcoin are in the electrum wallet installed on my PC and I do not have the password and e seed.
how can I recover the bitcoins? people say that those bitcoin are lost but I can't belive it....they are in my wallet installed in my pc.......
Can you help me please.......?
thank you in advance
Users find "how-to-accept-bitcoin-on-a-website-using-electrum". 1
But they can't find a simple "how-to-accept-bitcoin-using-electrum". (I.e., most basic steps of how to send and receive bitcoins.)
I could not find in the doc how to make Electrum offline. I accidently found on internet that it goes with the --offline option.
The site that is linked in the tor section doesn't work. http://electrumserv.noip.me/onionservers.txt
Wouldn't it make more sense to just do PR for new onions instead of relying on a third party domain.
"The seed is a random phrase that is used to generate your private keys."
NOT "generate"
should read -
"restore"
because -
first, private-keys are generated,
and THEN they are BIP39ed into seed-words, right...
Ok so i have spent the last 2 days getting electrum payments setup, and i am now well and truly stuck. I have it creating payment requests but those payments requests respond with "payment URL not pointing to a payment request handling server".
Is there something missing from the documentation?
Does electrum deal with running SimpleWebSocketServer? or should i be running it somehow, i have tried a few obvious things but electrum no longer complains that i need to install it, so i assume it is working.
Do i need to forward some ports?
The only thing i am not sure i have right is my apache2 setup although there could be more, please can somebody tell me how to properly convert the following nginx example to apache2 and exactly where i should be putting it? htaccess, apache2.conf.
location /payment/ {
default_type "application/bitcoin-paymentrequest";
alias /srv/www/payment/;
}
i am trying to use electrum rpc , its giving me authentication error.
i have tried user pass via basic authentication on linux bash and via php but non works.
my php code was working fine before plectrum vulnerability upgrade.
also i have tried curl on bash , but i get same error
Error code explanation: 401 - No permission -- see authorization schemes.
i have tried
curl --data-binary '{"id":"curltext","method":"listaddresses","params":{"funded":true}}' http://test:[email protected]:7777
and
curl --data-binary '{"id":"curltext","method":"listaddresses","params":{"funded":true}}' http://127.0.0.1:7777
and
curl -utest http://127.0.0.1:7777
but electrum server never accepts any authentication.
i have also tried by disabling the rpc authentication , still i get the same error
I haven't used electrum in a while. I have created a new wallet. I want to withdraw bitcoins from bitstamp. I copied and pasted the address under 'receiving address' into Bitstamp. But it doesn't accept it. It does however accept the address from my older electrom wallet
in the second-to-last sentence,
"add the seconds signature the the transaction", should be
"add the second signature to the transaction"
They seem to be undocumented.
E.g. see spesmilo/electrum@c3f3843 , my comment in 75919a9 , etc
I am following doc link: https://electrum.readthedocs.io/en/latest/merchant.html?highlight=rpc
I followed steps mentioned under heading "Install Electrum-Merchant"
successfully completed this step - pip3 install electrum-merchant; and installed all dependencies successfully.
when i am performing next step - python -m electrum-merchant; i am getting following error
C:\Electrum-3.3.8>python -m electrum-merchant
Error: could not find paymentrequest_pb2.py. Create it with 'protoc --proto_path
=electrum/ --python_out=electrum/ electrum/paymentrequest.proto'
I have checked, paymentrequest_pb2.py file exists in electrum folder
Please guide me, I am stuck with development
Thanks
Quite unusual, but it happened. This error after a normal electrum payto command.
Traceback (most recent call last): File "/usr/local/bin/electrum", line 5, in pkgresources.run_script('Electrum==2.6.3', 'electrum') File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 499, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1235, in run_script execfile(script_filename, namespace, namespace) File "/usr/local/lib/python2.7/dist-packages/Electrum-2.6.3-py2.7.egg/EGG-INFO/scripts/electrum", line 371, in result = server.run_cmdline(config_options) File "/usr/local/lib/python2.7/dist-packages/jsonrpclib-0.1.7-py2.7.egg/jsonrpclib/jsonrpc.py", line 288, in _call return self.send(self.name, args) File "/usr/local/lib/python2.7/dist-packages/jsonrpclib-0.1.7-py2.7.egg/jsonrpclib/jsonrpc.py", line 238, in _request check_for_errors(response) File "/usr/local/lib/python2.7/dist-packages/jsonrpclib-0.1.7-py2.7.egg/jsonrpclib/jsonrpc.py", line 567, in check_for_errors raise ProtocolError((code, message)) jsonrpclib.jsonrpc.ProtocolError: (-32603, u'Server error: File "/usr/local/lib/python2.7/dist-packages/Electrum-2.6.3-py2.7.egg/electrum/coinchooser.py", line 56, in random | error: unpack requires a string argument of length 4')
Win7
Electrum 3.3.8
Hello
Ive tested this many times and u dont need 2 multisig wallets for multisig transactions.
One Multisig- Wallet is enough and the other can be an normal standard legacy wallet also.
But if u use the Cosigner Plugin u just need 2 Multisig Wallets cause it seems that the message only appears when 2 Multisig are involved.
Could someone confirm this ?
If so may an slightly edit on the doc will be good
best regards
Each choice in the Install Wizard should have link to official documentation
In the Install Wizard the user sees for example
( ) Import Bitcoin addresses or private keys
Please add a "[?]"
( ) Import Bitcoin addresses or private keys[?]
that the user can mouseover/click to find out what this is all about.
Else all the user can do is resort to Google and hope for the best.
But that might result in him finding the wrong advice, and losing all
his funds.
Therefore each step needs a mouseover or link to official documentation.
@chris-belcher asked on IRC for more detailed documentation about the seed format.
We currently have seedphrase.rst but it only details how to calculate the version number of a seed, and lists registered version numbers.
We should either expand that doc, or add another, that details the schemes that correspond to specific version numbers, i.e. how to go from seed words to bip32 chains (and what to use those chains for).
Note that there are unit tests here: https://github.com/spesmilo/electrum/blob/8d7370d897314d8542906aecc6a45cc949651f77/electrum/tests/test_wallet_vertical.py#L106
we could link to those in the doc, resolving potential ambiguities
Related:
https://github.com/spesmilo/electrum/blob/8d7370d897314d8542906aecc6a45cc949651f77/electrum/mnemonic.py#L159
https://github.com/spesmilo/electrum/blob/8d7370d897314d8542906aecc6a45cc949651f77/electrum/keystore.py#L975
The docs page is not accessible from Tor.
Cloudflare captcha is broken (again) and it resets session every time it gets solved. Also, even if we pass the captcha, the docs page will be loaded incorrectly.
I have made a short video about how Tor users must struggle in order to access the documentation https://oshi.at/MypUof/Screencast_2020-10-23_064254.mp4
Here is a little guide on how to quickly allow access: https://github.com/allow-tor/on-cloudflare
I've been waiting more than 1 week for a payment. The account of my ewallet is 1NWm2xVY91edw35YjLLMNuzTZz5HhhsQhF. Since after a week the payment has not been made nor has the money been returned, I will proceed to report to the police in the next few days (to your community for scam)
Regards.
Maybe add to http://docs.electrum.org/en/latest/faq.html
"Bitcoin only?"
I have succeeded in installing electrum and running it as a daemon, it also accepts bitcoin in my website through electrum-merchant but one thing I do not understand is that how exactly to integrate web sockets ?
I did read the docs but the only information there is how to connect to a web socket server, lets suppose I make my own, then what procedure should I follow next ? Sockets, events, verifying, count of confirmations etc all this stuff would be done by me through custom coding or electrum can do it by itself ?
Secondly I would like to request for electrum-merchant to display the wallet address on the index.html page when viewed, not everyone use QR code or bitcoin core wallet, this can help a lot.
Thanks
I want to send money using 2 fee structure.....regular & priority.
In case of regular, I want to fix fee to 1$ and in case of priority, I want to fix fee to 5$.
How I can achieve this?
The current readthedocs linked to from the main electrum.org page is two years old - dates from 2017 version 3.1.
I imagine there are quite a lot of users that are getting outdated/inaccurate information and many (most?) users don't know to look at github for the latest. Makes Electrum look broken/unmaintained when the official documentation doesn't work.
I followed all of the steps in:
https://electrum.readthedocs.io/en/latest/merchant.html#
When I reached Install Electrum-Merchant section, I tried python3 -m electrum-merchant
and I got the below message:
[2020-05-07 14:28:07,046] [INFO] Downloading and installing files into request directory
[2020-05-07 14:28:07,046] [INFO] copying index.html from flavour simple
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.6/dist-packages/electrum-merchant/__main__.py", line 133, in <module>
main()
File "/usr/local/lib/python3.6/dist-packages/electrum-merchant/__main__.py", line 99, in main
downloader.download('jquery')
File "/usr/local/lib/python3.6/dist-packages/npmdownloader/packagedownloader.py", line 70, in download
self.download_multiple([(name, version)])
File "/usr/local/lib/python3.6/dist-packages/npmdownloader/packagedownloader.py", line 67, in download_multiple
loop.run_until_complete(self._download_packages(packages))
File "/usr/lib/python3.6/asyncio/base_events.py", line 484, in run_until_complete
return future.result()
File "/usr/local/lib/python3.6/dist-packages/npmdownloader/packagedownloader.py", line 50, in _download_packages
for n, v in current_packages]
File "/usr/local/lib/python3.6/dist-packages/npmdownloader/packagedownloader.py", line 50, in <listcomp>
for n, v in current_packages]
AttributeError: module 'asyncio' has no attribute 'create_task'
I switched the 'fee's" in my wallet because it was trying to charge me $100 to add $50 to a site. Now my coin is still 'unconfirmed' days later..Help...
Transaction ID
339298f15882107e377c319cd994555a840d06293f3cc4c7b87fc6a17fdf280e
After downloading and moving the AppImage file to the Persistent folder I cannot open it by simply double-clicking it. I also enabled "execute file as program" in the properties. What am I doing wrong?
On Debian
$ man electrum
-P, --portable
portable wallet
$ electrum -h
-P, --portable Use local 'electrum_data' directory
User have no further clue as to what this is about.
Users eventually might find something if they Google hard.
So please add a 'portable wallet' section to the documents.
Say if this is a legacy feature, a current feature, a Windows Only
feature, a feature that means without it if CPU failure, disks containing the
wallet cannot be moved to another machine. Etc. Etc. Thanks.
I am sorry, posted here in electrum-docs instead of electrum. Please see spesmilo/electrum#3651
Thank you.
I am trying to connect with electrum rpc installed from windows gui version of installer.
followed these guidelines: (here electrum is replaced with "electrum-3.3.8" executable name)
electrum setconfig rpcport 7777
electrum getconfig rpcuser - it returned empty
electrum getconfig rpcpassword - it returned empty
I tried sending postman request with basic_auth with username/password empty and body raw request: {"jsonrpc":"2.0","id":"curltext","method":"getbalance","params":[]}
it's returning following error:
Error code: 401
Message: Authentication failed (missing credentials).
Error code explanation: 401 - No permission -- see authorization schemes.
I even tried chaning username & password with following commands
electrum setconfig rpcuser dummy
electrum setconfig rpcpassword dummy123$
still it did not help me, as running following commands returns
electrum getconfig rpcuser - it returned empty
electrum getconfig rpcpassword - it returned empty
please guide me, my development is stuck due to this.
Thanks
Can we please make it policy to give users good proper information, rather than transforming information into marketing? If your FAQ asks "does electrum trust servers?", saying "not really" is hella disingenuous. What it should say is:
Just saying servers are "not really" trusted doesn't inspire confidence in the information you provide to your users. Please update this to be more accurate and full-disclosure.
I was using Electrum 3.0.2 on OSX Sierra fine and now I get Failed to Compile Output errors when sending. Upgraded Keepkey to latest firmware too. Any known issues or fixes for this?
version 2.7.9
new wallet with one private key which has one transaction:
possible connection to segwit address spend to an old style address.
new wallet with the matching public key 1NfaygNyzo9DAsA8x5A85FaLcr7KzXgEtG
rejects that key as invalid. But it has a transaction.
Also the old address was generated by a bash script derived these:
bitcoin.sh from
https://github.com/grondilu/bitcoin-bash-tools
83e56929fe40aa60f0a5ad9b987c4e44ecb334eadb1e7983863321403f85d40e bitcoin-bash-tools-master.zip
grondilu/bitcoin-bash-tools@5493c71
brainwallet.sh from
http://cycadgarden.com/BrainWallet/
ecf2c17a974a9d23745529da00b84ec7ec34668b985e9b0f80813f4d4050937e brainwallet.zip
Creating new wallet with public or private keys
public key 1NfaygNyzo9DAsA8x5A85FaLcr7KzXgEtG is rejected as invalid.
private key (undisclosed) get assertion violation in synchronizer.py
edited the code to print more:
if not tx_hash == hash_encode(Hash(result.decode('hex'))):
self.print_msg("hash mismatch, skipping. result:", result)
self.print_msg("expected hash:", tx_hash)
self.print_msg("actual hash..:", hash_encode(Hash(result.decode('hex'))))
return
$ electrum gui
[Synchronizer] hash mismatch, skipping. result: 02000000000103b8b5c36ee1136f0f2820f9d46a8affe17230ff122f8b941dcb1cd1ae1de52d96000000006b483045022100bef831c258d5b4f6b8f5f3f4375700bf0f4a6053f2106cc44237d66f3da4323c0220136dd61bc4144cbe59fb500dc17abab60003089e8ed1cfef1d6d2f7ccde0c2b301210354e69a9e06abad74e46d211e5efe4d56391cc5a8cc4f205fc7d0cf624c8739a0fefffffff8c43e355a1c11dbc7efcfc5059192a05b5d6fbc350ddfe182186adab41d0b27000000001716001496092638e41b28bdac8e82e89fb6491564d6663cfefffffffc04b50691a8af0699a8c3c3d9ce44d1b0b4191b201b99fa6c7da27ba135b9cb00000000171600144c5f4533ee32b6a8ebeee303a60b34b929ef29fdfeffffff0247750b00000000001976a9144e2a5ad951c2e2667772d8ec8d2b7baae5fd6b9088ac561b3c01000000001976a914eda6cf8e4abc51368abb8188cef4de7059a0649288ac000247304402205d0d0b9a90fb416b2b81321812006260399bccd845227f37518281051899139002207708d16d12e19549baab2647f6bd8dcb938727d7b9572db93da1c195a2efefb501210284618e584d9796ad258b4b31c35eb252af514fa69c09e8ec09fd825008855cf5024730440220507907284d68ea172261c14b6dad2730889b2cab769e8bc5716b9346d90288a3022007350dbbecaf3b9dd8e112cf7d2d159d069fa4927268bdfdf17f7db63a506439012102f6c265a1697f3782fdcf6c572d8e56979b9ccf39ffcf6cad67f9b2a5b8f2956bf3b00700
[Synchronizer] expected hash: b46f650a64fcd5e7ceb2ca569b44b6b65565ed3cfb20322885f134df64bb4dcc
[Synchronizer] actual hash..: eb27801f5614af0ce32e188b36c8f16018f484ffaec1e2158207720e1b4a1c20
blockchain shows transaction b46f650a64fcd5e7ceb2ca569b44b6b65565ed3cfb20322885f134df64bb4dcc exists, and has 1NfaygNyzo9DAsA8x5A85FaLcr7KzXgEtG as an output.
Hi, after some hours after a transaction: It says "Low fee" instead of "Unconfirmed". What have I done wrong?
Best regards
Patric
In the FAQ mention a massive file blockchain_headers
will be created. So the user should at least have 100 megabytes available on his disk.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.