SimpleWallet - Simple wallet for Bitcoin

Overview

Simple Wallet

This is a basic python starter package to be used as a template for creating your own python packages. See "PythonStarterPackage Setup Guide.md" in doc/ for a detailed explanation of the package resources.

Prerequisites

The Python Starter Package app is intended for the Linux terminal and should work on it out of the box. However, you may need to add ~/.local/bin/ to PATH if you are getting a command not found error when trying to run the app. See this thread for details: https://stackoverflow.com/a/34947489. To add ~/.local/bin/ to PATH do the following:

  1. Add export PATH=~/.local/bin:$PATH to ~/.bash_profile.
echo export PATH=~/.local/bin:$PATH > ~/.bash_profile
  1. Execute command.
source ~/.bash_profile

This app can work for Windows and Mac. It is recommended to run it on the Git Bash terminal. Here are the instructions for installing and setting up Git Bash:

  1. Go to https://git-scm.com/downloads and click download.
Version >= 2.34.1
  1. During the installation setup, make sure to include OpenSSH. Recommenced setting should be fine:
Use bundled OpenSSH - This uses ssh.exe that comes with Git.
  1. Leave the other settings as default, click through, and install.

IMPORTANT: For Windows, run this app on the bash.exe terminal rather git-bash.exe. There is a known issue with git-bash.exe messing up Python os commands in import os. See this thread for details: https://stackoverflow.com/questions/33622087/composer-installation-error-output-is-not-a-tty-input-is-not-a-tty/33623136#33623136.

  • bash.exe can be found in your Git folder in the bin/ directory.
  • For example: If git-bash.exe is here C:\Program Files\Git\git-bash.exe then you should find bash.exe here C:\Program Files\Git\bin\bash.exe.

Installation

This library is hosted on PyPi and can be installed via pip:

pip3 install PythonStarterPackage

Usage

After installation, you can run this app in your terminal with this command:

pythonstarterpackage

You can also run it with python3 -m:

python3 -m pythonstarterpackage

Further, you can import the package resources and run them in your own project:

from pythonstarterpackage import *
starter = StarterPkg()
starter.run()

Documentation

The purpose of this project is to show you how to create a standard python package from scratch. This project is inspired by @iamtennislover's excellent getmyip package (https://github.com/iamtennislover/getmyip) and @sigma-coding's great guide on deploying python packages (https://github.com/areed1192/sigma-coding).

Setup

See "PythonStarterPackage Setup Guide.md" in doc/ for a detailed walkthrough of what each of the package resources do. Once you have an understanding of this package, you can clone this package to your local directory and proceed to testing and deployment.

Testing

In the directory containing the setup.py file, you can test the package by installing it in pip3 editable mode. This will allow you make changes to it and test it without having to push the changes each time.

  1. Use pip3 to install the package in editable mode:
pip3 install -e .
  1. Run the package by calling the package directly:
pythonstarterpackage

Or use python3 -m:

python3 -m pythonstarterpackage
  1. Testing the import. Run the test_main.py file:
python3 ./test/test_main.py
  1. Once finished, delete the PythonStarterPackage.egg-info file and uninstall the package with:
pip3 uninstall PythonStarterPackage

Note: It is recommended that you use a virtual environment when testing your package.

  1. To create a virtual environment:
virtualenv venv
  1. Activate the environment use: . venv/bin/activate. On Windows it may be: . venv/Script/activate.

Dependency Mapping

Next, make sure to check the package dependencies and update the setup.cfg file as needed. To do this:

  1. Create (or overwrite) the requirements.txt document with pipreqs. This is an extremely useful tool because it automatically finds all of the relevant versions of dependencies your package relies on and puts them into the requirements.txt file. If you don't have pipreqs, install it with pip install pipreqs.
pipreqs --force --encoding utf-8
  1. Once the requirements.txt is updated, check to see if there is any additional dependencies that need to be added or updated in setup.cfg under the install_requires =. If so, add or update it.

Deployment

Once the package is ready, we can work on deploying the package.

  1. Upgrade setuptools, wheel, and twine (twine will be used in the next part).
pip3 install --upgrade setuptools wheel twine
  1. Build the package with setup.py.
python3 setup.py sdist bdist_wheel
  1. Check the contents of the .whl and .tar.gz distributions. The key things to look for are: (1) all of your package subdirectories like utils are added to both distributions, (2) your config and package data are included in both distributions.
unzip -l dist/*.whl && tar --list -f dist/*.tar.gz
  1. Test a local install of the package and run it to make sure it is working.
pip3 install .
pythonstarterpackage
  1. After testing that it is working, uninstall the package from pip3.
pip3 uninstall PythonStarterPackage

If there are any issues in the above you can always uninstall the package and delete the distributions then proceed to troubleshoot the issue. Once complete start over from the beginning. The commands below allows you to delete the distributions.

rm -rf build dist src/*.egg-info

BE CAREFUL not to miss copy the above command, as if you delete something you didn't intend you will not be able to retrieve.

Upload to PyPi

In order to upload to PyPi make sure to setup your PyPi account first. See "PyPi Setup Guide.md" in doc/ for more details. You will also need to have twine installed and upgraded. Once you have all of this setup do the following:

  1. Upload using twine.
twine upload dist/*
  1. Install your package with pip.
pip3 install PythonStarterPackage

Note: If you get a "Requirements already satisfied..." for PythonStarterPackage when trying to install, it may be because pip still thinks you have the package already installed from the testing earlier. To cleanly break that connection, simply delete the ./src/PythonStarterPackage.egg-info. Then try uninstalling and reinstalling again.

  1. Finally, run the app with: pythonstarterpackage.
  2. Uninstall with: pip3 uninstall PythonStarterPackage.

Support and Contributions

Our software is open source and free for public use. If you found any of these repos useful and would like to support this project financially, feel free to donate to our bitcoin address.

Bitcoin Address 1: 1GZQY6hMwszqxCmbC6uGxkyD5HKPhK1Pmf

alt text

Owner
Mystic
Mystic
Crypto Stats and Tweets Data Pipeline using Airflow

Crypto Stats and Tweets Data Pipeline using Airflow Introduction Project Overview This project was brought upon through Udacity's nanodegree program.

Matthew Greene 1 Nov 24, 2021
Amazing CryptoWAF was a CTF challenge for ALLES! CTF 2021

ctf-cryptowaf The AmazingCryptoWAF ™️ is used by the "noter" web app, to offer automagically military encryption for any user data. Even if an attacke

32 Jan 02, 2023
A bot written in Python to automatically buy tokens on the Binance Smart Chain as soon as liquidity is provided

A bot written in Python to automatically buy tokens on the Binance Smart Chain as soon as liquidity is provided. If you’ve found this bot useful and have profited from it please consider donating any

473 Dec 25, 2022
Hide secret data within a digital image using good ol' terminal

pystego Hide secret data within a digital image using good ol' terminal Installation The recommended way for installing this package is using, python

Ayush Gupta 1 Jan 06, 2022
Lottery by Ethereum Blockchain

Lottery by Ethereum Blockchain Set your web3 provider url in .env PROVIDER=https://mainnet.infura.io/v3/YOUR-INFURA-TOKEN Create your source file .

John Torres 3 Dec 23, 2021
Simple python program to encrypt files with AES-256 encryption

simple-enc Simple python program to encrypt files with AES-256 encryption Setup First install "pyAesCrypt" using pip. Thats it! Optionally you can add

Hashm 2 Jan 19, 2022
An automated Risk Management Monitor Bot for ByBit cryptocurrencies exchange.

An automated Risk Management Monitor Bot for ByBit cryptocurrencies exchange that forces all open positions to adhere to a specific risk ratio, defined per asset. It supports USDT Perpetual, Inverse

Hadi Aladdin 25 Nov 27, 2022
The Qis|krypt⟩ is a software suite of protocols of quantum cryptography and quantum communications

The Qis|krypt⟩ is a software suite of protocols of quantum cryptography and quantum communications, as well, other protocols and algorithms, built using IBM’s open-source Software Development Kit for

Qiskrypt 14 Oct 31, 2022
😈 Shining is a tool that enables engineers to remotely pull smart contract code in multi-file situations.

👑 Shining 😈 Shining is a tool that enables engineers to remotely pull smart contract code in multi-file situations. Shining is the name of one of my

xxxeyJ 15 Jun 17, 2022
Bsvlib - Bitcoin SV (BSV) Python Library

bsvlib A Bitcoin SV (BSV) Python Library that is extremely simple to use but mor

Aaron 22 Dec 15, 2022
Learn Blockchains by Building One, A simple Blockchain in Python using Flask as a micro web framework.

Blockchain ✨ Learn Blockchains by Building One Yourself Installation Make sure Python 3.6+ is installed. Install Flask Web Framework. Clone this repos

Vaibhaw 46 Jan 05, 2023
A curated list for getting up to speed on crypto and decentralized networks

crypto reading list A curated list for getting up to speed on crypto and decentralized networks. The content on the toplevel page contains what we con

Jump Crypto 1.1k Jan 07, 2023
A python-jvm wrapper for interacting with the Ergo blockchain.

ergpy A python-jvm wrapper for interacting with the Ergo blockchain. Usage Requires Java 8 or higher to be installed on system pip install JPype1 pip

mgpai 16 Oct 05, 2022
The (Python-based) mining software required for the Nintendo Switch mining project.

ntgbtminer - Nintendo Switch edition This is a version of ntgbtminer that works with the Nintendo Switch bitcoin miner. ntgbtminer ntgbtminer is a no

4 Jun 03, 2021
Recover bitcon brainwallet

Bitcoin brainwallet recovery tool If you like it give it a star Programmed in Python | PySimpleGUI How it works From seed phrase create bitcoin privat

Adrijan 20 Dec 15, 2022
A repository for Algogenous Smart Contracts created on the Algorand Blockchain.

Smart Contacts This Repository is dedicated to code for Alogrand Smart Contracts using Choice Coin. Read Docs for how to implement Algogenous Smart Co

Choice Coin 3 Dec 20, 2022
Pool funds to bootstrap a Uniswap pair

Seed liquidity A contract to pool funds which are then used to boostrap a new Uniswap liquidity pair. Specification A new SeedLiquidity contract is de

66 Dec 09, 2022
SysWhispers integrated shellcode loader w/ ETW patching & anti-sandboxing

TymSpecial Shellcode Loader Description This project was made as a way for myself to learn C++ and gain insight into how EDR products work. TymSpecial

Nick Frischkorn 145 Dec 20, 2022
Technical_indicators_cryptos - Using technical indicators to find optimal trading strategies to deploy onto trading bot.

technical_indicators_cryptos Using technical indicators to find optimal trading strategies to deploy onto trading bot. In the Jup Notebook you wil

Van 4 Jul 03, 2022
Ceres is a combine harvester designed to harvest plots for Chia blockchain and its forks using proof-of-space-and-time(PoST) consensus algorithm.

Ceres Combine-Harvester Ceres is a combine harvester designed to harvest plots for Chia blockchain and its forks using proof-of-space-and-time(PoST) c

38 Nov 14, 2022