ironforge-cloud / soldev-ui Goto Github PK
View Code? Open in Web Editor NEWYour Solana Homepage
Home Page: https://www.soldev.app
Your Solana Homepage
Home Page: https://www.soldev.app
Hello, dear soldev team. i think there is a mistake in section "Data Order" FROM "Dealing with Accounts" subject, that you say you must always place the dynamic variables like Vectors and strings in the end of the Account's data structure to be able to keep track of static variables like ids very easy BUT it really does not matter how to order them for example:
#[account]
pub struct Data {
scores: Vec,
id: u8
}
Raw data output for Data's PDA account (with considering10 elements in the vector) :
<Buffer ce 9c 3b bc 12 4f f0 e8 03 00 00 00 0a 05 ff 00 00 00 00 00 00 00 01>
discriminator(8 bytes) + vector-u8(4 + (10 * 1)) + id-u8(1 byte)
Memcmp for tracking the "id" section:
{
offset: 8 + 14,
bytes: base58.encode(id)
}
Describe the bug:
Two links in the README.md file and two other links on the index page are broken.
Steps to reproduce the behavior:
Expected behavior:
The links are not supposed to take you to a 404 page
Screenshots:
Additional context:
I've fixed three of the bugs in this fork except for the current milestone link, I don't know what link to use there.
I will be sending PR as soon as I test and make sure my fix is not breaking anything.
@nickfrosty @mikemaccana please can I get the .env.local file so I can test
Is your feature request related to a problem? Please describe.
Yes, the current SolDev documentation lacks a clear guide on how to import a keypair from a private key or mnemonic phrase. This gap can be frustrating for developers looking to integrate existing wallets into Solana applications or for those who need to securely generate keypairs from existing credentials.
Describe the solution you'd like
I propose adding a detailed tutorial to the SolDev documentation that covers the following topics:
Importing from a Private Key: Instructions on converting a Base58 encoded private key string into a Uint8Array
, and then using this byte array to generate a Keypair
object. This section should include examples using @solana/web3.js
and emphasize security best practices to avoid exposing private keys.
Importing from a Mnemonic Phrase: A guide on converting a mnemonic phrase into a keypair, highlighting the secure use of libraries like bip39
and @solana/web3.js
's Keypair.fromSeed
method. This should also include example code and step-by-step instructions.
Describe alternatives you've considered
An alternative could be community-generated tutorials or external documentation; however, having official documentation ensures accuracy, security, and ease of access for developers.
Additional context
Adding these tutorials will not only fill a crucial gap in the documentation but also enhance the overall developer experience within the Solana ecosystem. It will provide a one-stop guide for developers to securely integrate and manage keypairs, which is fundamental for building decentralized applications on Solana.
Describe the solution you'd like
Rewrite the course in Urdu or Hindi
Reverts draghtnight/draghtnight#1
Originally posted by @draghtnight in draghtnight/draghtnight#2
Hello there team!
Describe the bug:
Import at scaffold does not match implementation of lab. At the scaffold Keypair
is imported whereas in the lab itself, the default importweb3
is used.
Also, step goes from 1 to 4, skipping 2 and 3. (see attached screenshot)
As a side note when clicking on here
at README.md
it looks like the link is broken as it redirects to https://github.com/https://github.com/ironforge-cloud/soldev-ui/issues/new
(see also attached screenshot) .
Thanks for the great work!
Mismatch of imports | Broken link |
---|---|
![]() |
![]() |
Describe the bug:
Similar to #16, recently added images are 404ing.
Old image: https://www.soldev.app/assets/movie-reviews-frontend.png works
New image: https://www.soldev.app/assets/wallet-addresses.svg 404s
Both img
elements use a relative path to ../assets
so I'm pretty sure both are correct/
Test URL:
Steps to reproduce the behavior:
GET https://www.soldev.app/assets/wallet-addresses.svg 404 (Not Found)
Expected behavior:
Image shown, 200 OK
Describe the bug:
I am talking about this page: https://www.soldev.app/course/intro-to-writing-data
In the Lab section, you can find the following code example which I annotated with comments where I think the block could be improved:
import * as web3 from "@solana/web3.js";
import * as dotenv from "dotenv";
import base58 from "bs58"; // not actually used here (neither in the next block), can be removed
import { getKeypairFromEnvironment } from "@solana-developers/node-helpers"
const toPubkey = new PublicKey(suppliedToPubkey); // suppliedToPubkey is nowhere defined. Maybe show an example with a generated pub key here as in the first tutorial
dotenv.config(); // with es module syntax, it's actually better to just import dotenv/config
const senderKeypair = getKeypairFromEnvironment("SECRET_KEY");
const connection = new Connection("https://api.devnet.solana.com", "confirmed");
console.log(`โ
Loaded our own keypair, the destination public key, and connected to Solana`);
This is what I would suggest the code to update to:
import "dotenv/config"
import { Connection, clusterApiUrl, Keypair } from "@solana/web3.js"
import { getKeypairFromEnvironment } from "@solana-developers/node-helpers"
const { publicKey: toPubkey } = new Keypair()
const senderKeypair = getKeypairFromEnvironment("SECRET_KEY")
const connection = new Connection(clusterApiUrl("devnet"))
console.log(
`โ
Loaded our own keypair, the destination public key, and connected to Solana`,
)
failed to get the balance from the network
can't use "devnet" or "https://api.devnet.solana.com", "confirmed"
โ use RPC from alchemy.com
When the balance of the target address is 0, the tutorial's const LAMPORTS_TO_SEND = 5000; will throw an error:
SendTransactionError: failed to send transaction: Transaction simulation failed: Transaction results in an account (1) with insufficient funds for rent.
It needs to be increased, I have set it to 500000000.
When in the library page page, there is no margin-left
Steps to reproduce the behaviour:
Expected behaviour:
Add a margin left
to the page.
the test case in this chapter
it("Incremented the count", async () => {
const tx = await program.methods
.increment()
.accounts({ counter: counter.publicKey, user: provider.wallet.publicKey })
.rpc()
const account = await program.account.counter.fetch(counter.publicKey)
expect(account.count.toNumber() === 1)
})
the way of using expect will return true all the time, no matter what number is given
considering using the following expression
expect(account.count.toNumber()).to.equal(1)
Describe the bug:
Hi Italo I'm not 100% sure if you're the right person for this, but there's some 404s of newer content on. Soldev - in particular, the 'Getting started' and 'Cryptography fundamentals' are 404ing. Not sure if you need to re-run some kind of process on the soldev.app site when we add new content.
Steps to reproduce the behavior:
I've let @jamesrp13 know too.
Describe the bug:
In https://www.soldev.app/course/interact-with-wallets
3. Wrap the app in context providers
has a code snippet looks like
import { FC, ReactNode } from "react";
const WalletContextProvider: FC<{ children: ReactNode }> = ({ children }) => {
return (
));
};
export default WalletContextProvider;
in the six line , there are two brackets
Steps to reproduce the behavior:
Expected behavior:
just need one bracket
Screenshots:
Additional context:
Hi, we are running the fifth season of School of Solana next month, which is backed by the Solana Foundation. We'd love to display our course on the Learn menu dropdown above the buildspace Solana course.
We have been running School of Solana since 2022 and are continuously improving it with every edition. It runs twice a year.
Title: School of Solana
Description: A 9-week course on Rust and Solana
Icon: same as buildspace is fine
Link: https://ackeeblockchain.com/school-of-solana
Please let me know if this is possible and if the information provided is sufficient or if you would like me to create a PR for review to make these changes live. Thank you!
Describe the bug:
There is a spelling mistake in the 'Using custom on-chain programs' course page
Steps to reproduce the behavior:
Expected behavior:
The word should be writing instead of wriuting.
Describe the bug:
In the Cryptography lesson (https://www.soldev.app/course/intro-to-cryptography), while using the following method to generate a Keypair in TypeScript using @solana/web3.js:
import { Keypair } from "@solana/web3.js";
I was getting the following error:
Property 'generate' does not exist on type 'typeof import("@solana/web3.js")'
Addition/Replacement to code to be made
const { Keypair } = require("@solana/web3.js");
Describe the bug:
Module 1 chapter 4 https://www.soldev.app/course/intro-to-custom-on-chain-programs is broken link.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.