Giter VIP home page Giter VIP logo

neveko's People

Contributors

creating2morrow avatar

Stargazers

 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

neveko's Issues

API documentation

lots of missing and undocumented internal APIs in the admin/micro servers.

  • add APIs as needed
  • add documentation
  • something swagger for internal APIs would be nice

neveko-mining module

build a one-click solution for p2pool mining in the neveko-gui. add it to the main toolbar

cannot open wallet after it is created - invalid_password

After startup, the app seems to properly create the wallet file, but the rpc client cannot connect to it afterwards.

From the log output:

2023-06-21T20:26:54.973831Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.973832Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.974338Z DEBUG hyper::client::pool: reuse idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.974339Z DEBUG hyper::client::pool: reuse idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.974552Z DEBUG hyper::proto::h1::io: flushed 400 bytes
2023-06-21T20:26:54.974551Z DEBUG hyper::proto::h1::io: flushed 510 bytes
2023-06-21T20:26:54.974791Z DEBUG hyper::proto::h1::io: parsed 5 headers
2023-06-21T20:26:54.974810Z DEBUG hyper::proto::h1::conn: incoming body is content-length (103 bytes)
2023-06-21T20:26:54.974850Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:54.974971Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.975128Z DEBUG neveko_core::monero: get_version response: Ok(XmrRpcVersionResponse { result: XmrRpcVersionResult { version: 65562 } })    
2023-06-21 20:26:58.707	E portable_storage: wrong binary format - signature mismatch
2023-06-21 20:26:58.707	E !r. THROW EXCEPTION: error::invalid_password
2023-06-21T20:26:58.710331Z DEBUG hyper::proto::h1::io: parsed 5 headers
2023-06-21T20:26:58.710366Z DEBUG hyper::proto::h1::conn: incoming body is content-length (115 bytes)
2023-06-21T20:26:58.710435Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.710605Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.711068Z DEBUG neveko_core::monero: open_wallet response: Ok("{\r\n  \"error\": {\r\n    \"code\": -1,\r\n    \"message\": \"Failed to open wallet\"\r\n  },\r\n  \"id\": \"0\",\r\n  \"jsonrpc\": \"2.0\"\r\n}")    
2023-06-21T20:26:58.711764Z  INFO neveko_core::monero: executing get_address    
2023-06-21T20:26:58.791446Z DEBUG reqwest::connect: starting new connection: http://localhost:38083/    
2023-06-21T20:26:58.791832Z DEBUG hyper::client::connect::dns: resolving host="localhost"
2023-06-21T20:26:58.792081Z DEBUG hyper::client::connect::http: connecting to 127.0.0.1:38083
2023-06-21T20:26:58.792512Z DEBUG hyper::client::connect::http: connected to 127.0.0.1:38083
2023-06-21T20:26:58.793137Z DEBUG hyper::proto::h1::io: flushed 193 bytes
2023-06-21T20:26:58.793553Z DEBUG hyper::proto::h1::io: parsed 7 headers
2023-06-21T20:26:58.793587Z DEBUG hyper::proto::h1::conn: incoming body is content-length (98 bytes)
2023-06-21T20:26:58.793662Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.793865Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.794507Z DEBUG hyper::client::pool: reuse idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.794776Z DEBUG hyper::proto::h1::io: flushed 429 bytes
2023-06-21T20:26:58.795047Z DEBUG hyper::proto::h1::io: parsed 5 headers
2023-06-21T20:26:58.795068Z DEBUG hyper::proto::h1::conn: incoming body is content-length (109 bytes)
2023-06-21T20:26:58.795113Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.795224Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.795378Z DEBUG neveko_core::monero: get_address response: Err(reqwest::Error { kind: Decode, source: Error("missing field `result`", line: 8, column: 1) })    
2023-06-21T20:26:58.796207Z  INFO neveko_core::monero: executing get_balance    
2023-06-21T20:26:58.877866Z DEBUG reqwest::connect: starting new connection: http://localhost:38083/    
2023-06-21T20:26:58.878008Z DEBUG hyper::client::connect::dns: resolving host="localhost"
2023-06-21T20:26:58.878342Z DEBUG hyper::client::connect::http: connecting to 127.0.0.1:38083
2023-06-21T20:26:58.878559Z DEBUG hyper::client::connect::http: connected to 127.0.0.1:38083
2023-06-21T20:26:58.879041Z DEBUG hyper::proto::h1::io: flushed 252 bytes
2023-06-21T20:26:58.879370Z DEBUG hyper::proto::h1::io: parsed 7 headers
2023-06-21T20:26:58.879405Z DEBUG hyper::proto::h1::conn: incoming body is content-length (98 bytes)
2023-06-21T20:26:58.879477Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.879636Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.880159Z DEBUG hyper::client::pool: reuse idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.880332Z DEBUG hyper::proto::h1::io: flushed 488 bytes
2023-06-21T20:26:58.880501Z DEBUG hyper::proto::h1::io: parsed 5 headers
2023-06-21T20:26:58.880524Z DEBUG hyper::proto::h1::conn: incoming body is content-length (109 bytes)
2023-06-21T20:26:58.880560Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.880658Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.880791Z DEBUG neveko_core::monero: get_balance response: Err(reqwest::Error { kind: Decode, source: Error("missing field `result`", line: 8, column: 1) })    
2023-06-21T20:26:58.881707Z  INFO neveko_core::monero: executing close_wallet    

message retry

async background thread to send messages to user when back online. see message.rs in the core module

Implement Store and Foward nodes

These neveko instances should have the ability to distribute more expensive JWP's and allow an archival system of encrypted messages while users are offline. They could also have secondary functionality of matching Monero address to i2p base 32 address. This should facilitate sending messages to any Monero address registered with these operator nodes.

programmatic enabling of multisig

Seems it can only be enabled from cli for now. Will need to write a workaround or wait for it to become stable before completing kex automated orchestration.

i2p-zero http proxy

always getting destination lease set not found unless using i2pd http proxy

neveko market

wip

  • order form initial submission
  • prepare multisig updates
  • make multisig updates
  • exchange multisig keys
  • vendor shipping update/payment txset draft
  • finalize orders, customer submit txset
  • dispute logic

integration tests

for server controller tests, app startup, software installation, monero-rpc connectivity, etc.

allow passing of remote monero node

Hi, just found this project. Looks very cool!

When I try to run the neveko app, it complains that it cannot find monerod. I am running monerod on a different machine on my network. Can you please implement an option to supply a remote monero node address? Thanks.

dont try to create jwp if no/not enough funds

currently gui allow clicking create jwp even if there are not enough funds to create it. add estimated fee call + invoice amount to check and hide that button if transfer will fail.

installation manager

pop-up like the connection manager. option to install monero, i2p, i2p-zero and verify hashes

bug: approve jwp button

Approve stays up on subsequent jwp creation although the fee estimator has not finished scanning. Check that transfer is possible on subsequent jwp creation requests before allowing the Approve button to appear.

neveko-market AI-based adjudicator

Investigate using some open source AI for multisig wallet.In the neveko-market 2/3 multisig wallets that are created for each order one participant should be a proven / trusted AI that

Should be able to:

  • release a multisig txset to vendor upon a certain criteria (valid tracking number, etc)
  • sign a multisig txset if the vendor doesn't ship or respond with a certain time frame

prove payment retry from gui

edge case for when tx proof is generated but timeout before jwp is created. need to add a retry button. see address_book.rs in the gui module

Implement Key and Message Broadcast

Using Monero keys implement the capability for users to broadcast encrypted messages to subscribers, or vendors to broadcast to multiple customers etc.

(1) Alice generates a random session key, K, and encrypts M using K.
E (M)
K(2) Alice gets Bob’s, Carol’s, and Dave’s public keys from the database.
(3) Alice encrypts K with Bob’s public key, encrypts K with Carol’s public key, and then
encrypts K with Dave’s public key.
E (K), E (K), E (K)
B C D(4) Alice broadcasts the encrypted message and all the encrypted keys to anybody who cares
to receive it.
E (K), E (K), E (K), E (M)
B C D K(5) Only Bob, Carol, and Dave can decrypt the key, K, each using his or her private key.
(6) Only Bob, Carol, and Dave can decrypt Alice’s message using K.

Reference:

Schneier, B. (2015). Front Matter. In Applied Cryptography, Second Edition, B. Schneier (Ed.). https://doi.org/10.1002/9781119183471.fmatter

Remove calls to binaries

  • integrate i2pd bindings - WIP #35
  • integrate monero bindings - WIP c2m
  • replace gpg.rs with encipher via monero keys - Completed on 80b57bb c2m
  • remove calls to microservers via utils.rs

gui credential

use the same logic as auth.rs. after setting wallet password (#11) require the user to sign a random 32-byte message with the wallet password on subsequent logins

force monero remote node connections over i2p

currently neveko -> neveko traffic is over i2p but neveko -> monero-wallet-rpc is over clearnet. change --remote-node flag to add the --proxy flag to startup on monero-wallet-rpc

monero- trouble with wallet

trying to install wallet.

I received error sayin Daemon failed to start.

unknown error

please check your wallet and daemon log for errors. you can also try to start monerod.exe manually

what to do?

update wallet password

in gui use the credential that is set on login / screen. add update_wallet_password rpc logic

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.