Integrating chia light wallet into my python app


I am working on a prototype for a game client (think Steam, but using chia for payments). It is written in python and using Kivy for a gui.

What I would like to make is a simple, lightweight, Goby-like interface for my app that uses as much of chias light wallet code as possible. (in a way that will be easy to maintain and upgrade in the future) I have been digging through the chia-blockchain and chia-blockchain-gui repos trying to figure out how it all works and I could use some guidance.

What do I actually need to have a synced wallet with all of the features I would need?

Should I be trying to run the daemon, then basically copying what chia-blockchain-gui does by connecting and sending rpc messages? Or is there a better way that I could do it with an easier, python interface?

Is there any sample code that I should be looking at for this?

Any advice you could give would be great, Thanks!

1 Like

I would recommend trying to use the light wallet as a black box and communicating with it via RPCs like you identified the GUI does. There is a corresponding python client for every RPC interface, located in the same directory as the RPCs are located. You can just import chia-blockchain into your project, import that RPC client, write some code to start up the wallet and you’re in business.

1 Like

Great! Thanks quexington, it’s starting to make a lot more sense now. (So just for anyone reading this in the future) To actually start up the wallet I use the ChiaServer class with NodeType.WALLET. That is the main entry point right? Then from there I can connect to it, and do pretty much everything through WalletRPCClient. That makes sense.

never mind, I’m dumb. It is chia.server.start_service that has the main entry point. I figured it out.

1 Like