Skip to main content

Evrmore Accounts

Evrmore Accounts

Evrmore Accounts

A secure wallet-based authentication system for Evrmore blockchain applications

License: MIT Python 3.7+

Overview

Evrmore Accounts is a Python package that provides wallet-based authentication using Evrmore blockchain. It builds on the Evrmore Authentication library to provide a complete account management system for web applications.

Features

  • 🔑 Wallet-based authentication - Users sign challenges with their Evrmore wallet
  • 🔒 JWT token management - Secure session handling with JSON Web Tokens
  • 📁 SQLite backend - Simple, file-based database for session and challenge storage
  • 👤 Automatic user management - Users are created on first authentication
  • 🌐 Complete API server - Ready-to-use API server for authentication endpoints
  • 🖥️ Demo web interface - Example application showing the complete authentication flow
  • 📱 JavaScript client library - Easy integration with web applications

Installation

pip3 install evrmore-accounts

Quick Start

Running the API Server

python3 -m evrmore_accounts.app

This will start a Flask application with both the API endpoints and a web interface available at http://localhost:5000.

Running the Demo

Open http://localhost:5000/demo in your web browser to see the authentication flow in action.

Integration Example

Check out the simple_integration_example.html file for an example of how to integrate Evrmore Accounts with your web application.

API Endpoints

Endpoint Method Description
/api/challenge POST Generate a challenge for a user
/api/authenticate POST Authenticate with a signed challenge
/api/validate GET Validate a JWT token
/api/user GET Get authenticated user information
/api/logout POST Invalidate a JWT token (logout)

JavaScript Library

Add the Evrmore Accounts JavaScript library to your web application:

<script src="https://cdn.manticore.technology/evrmore-accounts.js"></script>

Initialize the library and create a sign-in button:

// Initialize Evrmore Accounts
EvrmoreAccounts.init({
  apiUrl: 'http://your-api-server.com/api',
  autoRefresh: true,
  debug: false
});

// Create a sign-in button
EvrmoreAccounts.initSignInButton('#sign-in-button');

// Listen for authentication state changes
EvrmoreAccounts.onAuthStateChanged(function(user) {
  if (user) {
    console.log('User is signed in:', user);
    // Show authenticated UI
  } else {
    console.log('User is signed out');
    // Show sign-in UI
  }
});

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/manticoretechnologies/evrmore-accounts.git
cd evrmore-accounts

# Create a virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip3 install -e .

Running Tests

python3 test_evrmore_accounts.py

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Metadata

Release files for evrmore-accounts 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for evrmore-accounts 1.0.0
File Size Uploaded
evrmore_accounts-1.0.0.tar.gz 57.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for evrmore-accounts 1.0.0
File Interpreter ABI Platform
evrmore_accounts-1.0.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 94.8 kB

Release files / evrmore_accounts-1.0.0.tar.gz

Download URL evrmore_accounts-1.0.0.tar.gz
Size 57.1 kB
Tags Source
SHA-256 checksum
How to use checksums
79163bbe6acb913bb12bca54212e1b7b68cce270fabc99bd0b824b2bf5eb62be
BLAKE2b-256 checksum
How to use checksums
6f1323b5da96883841821202baeef49f7789a42b652868bf0ce34a2db50ddee7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / evrmore_accounts-1.0.0-py2.py3-none-any.whl

Download URL evrmore_accounts-1.0.0-py2.py3-none-any.whl
Size 37.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
9bdcbc557f14e2f1d16380b40acacdbf04ba2fc17e2465af285a481679c88eb9
BLAKE2b-256 checksum
How to use checksums
abc13e121371a8e54fee375894c06b9191bc80876e4366da65b67af0dfe89d0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page