-
-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
create a hight level api for freenet-core #1031
Comments
I think it belongs in the So something like: let api = client_api.simple.API::new(ws_port);
let contract_state : Vec<u8> = api.get(contract_address).await; Would appreciate @iduartgomez's input also. |
I started to implement it. I love the concept of exposing minimal api. The issue is it sounds a windows driver wrapper philosophy. We should expose only the required and let everything else in private. We may let folders as
|
I suggest for a final version to do:
At this moment we may merge my current pr. Ready for a review. |
already usable with: use freenet::client_api::simple::API;
#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
let mut api = API::new(50509);
let out = api.update(String::from("lftMopswnMBotiZflwjYvuGCWbsileTEruGllHmLnOAWp"), vec![1, 2, 3]).await;
} the value of |
I created a draft pr to discuss of the template #1032 could you check it out and tell me what to improove or not? |
Another idea could be to simply expose the fdev commands as a public crate. |
it is currently complicated to do GET/UPDATE/SUBSCRIBE requests in freenet library.
For example, fdev had to reimplement everything https://github.com/freenet/freenet-core/blob/main/crates/fdev/src/main.rs#L58
I suggest to exposed a struct to do:
I could put it in the lib.rs file https://github.com/freenet/freenet-stdlib/blob/main/rust/src/lib.rs
The text was updated successfully, but these errors were encountered: