I've definitely said it before and I will say it again and many more times. I am not a good developer.
But! I still love it and I like to be more action then talk but communication is required for anything to happen especially if others are involved.
So I've started work on my new text based game called Ego Death. The start of this work requires laying out of what I'd like to be a framework for others to use which is called Leaf. A leaf is a multi user shared hallucination represented in text on the hive blockchain.
Much appreciation to other devs on the platform who have made functional libraries that make my life easier, some special appreciation for the devs of dhive and hive-keychain.
A small sample of the code that allows us to ask keychain if the username the user is trying to use on the leaf actually exists in the keychain:::
const handleSignIn = async (username: string) => {
const data: Login = {
"username": username,
"message": "{"login":"123"}",
"method": KeychainKeyTypes.posting,
"title": "Login"
};
try {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const login = await keychain.login(data as Login);
setIsSignedIn(true); // Update directly after successful login
} catch (error) {
console.error("Login error:", error);
// Handle the error here, e.g., display an error message to the user
}
};
This is a React typescript project.
Some milestone markers I am aiming for next is sorting out how non-persistent data such as things said in a room will be communicated with interested parties IE other users in the room. As well as what a room object actually looks like. If you'd like a look at the first room description it is posted here https://ecency.com/writing/@raymonjohnstone/genesis-scaffold-precipice
--Kind Regards Raymon Johnstone