#🚀・dev-support
1 messages · Page 9 of 1
search
searched fetch, i can see fetch balance only there code.
simply give me link to specific article i will make it and be thankfulll to supportive inj team
now i will tell bots u cannot gain points by simply sending approved tx req to api
Hey guys.
When setting up INJ node, When running INJ chain + MongoDB for the first time. How long does this generally take. Docs says up to 48hrs.
sudo docker logs -f mongo shows logs still flowing and writing base gen.
how long can this go for ?
Thanks
I want to fix this:
RES=$(yes 12345678| injectived tx wasm store artifacts/inj_yoiu.wasm --from yodan --gas auto --gas-prices 160000001inj -y --home ~/.injectived)
gas estimate: 1026922
Error: error unmarshalling result: illegal base64 data at input byte 4
Why did I got this error?
Is there any injective developer?
You should be posting that in #🔩・node-operators
What node are you pointing to? I don't see it specified in the command
Do you mean like the Helix's bots? Those bots are implemented with smart contracts. You would need to create an instance of a bot contract code that is configured for everyone to instantiate, or upload your own LP bot contract code and the instantiate it
@topaz seal Usually, how much does it cost to submit governance proposal to upload the smart contract to mainnet?
Please check the docs. The deposit required for gov proposals is in the docs.
We are here to provide help with things that are not in the docs. Also your question has been addressed in the past. You should be able to find the info you need by using the search box in Discord too.
That just not to mention that the error message is already telling you how much the minimum deposit should be (but you might want to provide the full deposit, not just the minimum, to allow voters to actually vote for the proposal)
@topaz seal okay, got it
@topaz seal I need to instantiate a cw20-base smart contract.
https://github.com/CosmWasm/cw-plus/tree/main/contracts/cw20-base
Do I need to submit proposal and upload new one for this? Or can I use existing code that is already uploaded to the mainnet?
you can use a contract code already uploades if it is configured to be instantiated by everyone
But I am not sure which one is the cw20-base.
@topaz seal btw... is it necessary to spend funds to upload the smart contract to mainnet?
Or can I upload the smart contract for free if I create my own node?
sorry for bothering you at the moment 🙏
The generic one has code_id 357
Regarding the proposal, you (or someone else) will have to provide the funds for the proposal to be enabled for voting
@topaz seal
error is attached my code is:
import React from 'react';
import { IndexerGrpcExplorerApi } from '@injectivelabs/sdk-ts';
import { getNetworkEndpoints, Network } from '@injectivelabs/networks';
const Test = () => {
const inspectTx = async () => {
const endpoints = getNetworkEndpoints(Network.Testnet);
const indexerGrpcExplorerApi = new IndexerGrpcExplorerApi(endpoints.explorer);
const txHash = 'FCC2717F5BD295723CC7DF5173EEA92E970BEA4F731F0C8259EB39B0764F9056';
try {
const transaction = await indexerGrpcExplorerApi.fetchTxByHash(txHash);
console.log(transaction);
} catch (error) {
console.error('Error fetching transaction:', error);
}
};
return (
<div>
<button onClick={inspectTx}>Inspect Transaction</button>
</div>
);
};
export default Test;
That error is not related to Injective, but to your local web or app server.
I know cors, is there any way we can fetch on local server, i think it dont allow http req on grpc
lemme test http doc from u guys, then will ask if stilll error
Access to XMLHttpRequest at 'https://testnet.exchange.grpc-web.injective.network/api/explorer/v1/txs/FCC2717F5BD295723CC7DF5173EEA92E970BEA4F731F0C8259EB39B0764F9056' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
means http req is not allowed too now, i mean somehow, inj is giving balances via both grpc and http api to my site without bliocking, but if i fetch tx from same site it give CORS error
@topaz seal I not got it, its wroking on local node js environment too
but not in browser i think
@topaz seal even https not working
@topaz seal look, i seen alll docs, inj is code good.
but thing is somehow inj api is not allowing my req to fetch ts
i tried on local host
i tried on vercel next js server api
it works fine on node files seperately like i shown, is inj not allowing sites to fetch data?
i literally spent last 3 hours on this, kindly now dont say search yourself etc, i am tired now of same error
i willl like to be helped, thanks very much
Allll i want is somehow get tx details in my next js app
simple yet i dunno why am stuck on simple thing,
@topaz seal @kind flare
pic is attached, its error if i try with grpc method, http method simply gives way tooo many errors, i just wanna know how can i not be blocked from accessing response? as this clearly say inj is blocking response
use Network.TestnetSentry
whats for mainnet then?
bro solved in 5 sec, i spent 5 hours on it, mefuckin retard
Don't discourage yourself, I've built this thing, that's why I know it by heart
nah, am asian, discouraging gives courage, i hope u not bothered by my broken humour
u know any grants from inj etc like this going on.
atlast i have a project two collections sold out, a working gaming ecosystem on inj i might get a chace before selling my tokn to become offical partner
You building a project?
Issue Resolved. Thx
Anyway how can I get INJ price on smart contract layer for testnet?
I got the price on Mainnet successfully with pyth contract - inj12j43nf2f0qumnt2zrrmpvnsqgzndxefujlvr08
but on Testnet not!
plz help me
yup
Should I send you a dm?
Not yet 😦
Hello builders! New team here starting to build on Injective! Big fan and early investor. I have some questions about decoding in JS (TS) - I hope someone here could provide some assistance.
Is there any documentation on how to decode the txs from the mem pool in js ? https://rpc-injective.goldenratiostaking.net/unconfirmed_txs?limit=100
Nevermind! We figured it out. ❤️
Can u answer it @kind flare ?
please stop tagging. https://injective.com/venturegroup
ok, no problem, will not tag u more, as now main base funcs are ready:
tx reading |
balance reading
i willl create apis for backend to do these in presale page
thanks for help again
hmmm
can you help me with my problem?
#1220915778606596157 message
Is terra to injective bridge down?
How can I get INJ price on smart contract layer for testnet?
I got the price on Mainnet successfully with pyth contract - inj12j43nf2f0qumnt2zrrmpvnsqgzndxefujlvr08
but on Testnet not!
plz help me
Hello everyone, i am trying to analyze some injective explorere Tx's, running into a error tho when i try to load the first page of the contract (contract has over 10k+ transactions). I have tried on injective explorer aswell as on mintscan. Anyone have a solution to this? Error is "Network error: Unable to fetch transaction"
Hello, I'm using token station to build my token on Injective and I have a few questions before launching it
1-how can I revoke my authority to mint?
2-when I pay the 20 INJ to launch my token will it list on some dex
3-what should I fill these with
4-is it possible to make a legitimate presale with the help of token station
that's it for now, would be very helpful if someone can answer some of these
thank you!
You can go to the change owner tab and remove the owner to revoke the mint authority.
after doing that will I still be able to transform some of it for airdrops, and presales... and will I still be able to launch it or should I remove admin after the launch
and sorry if some of my questions are looking stupid or unprofessional but I'm new to this
For airdrop you can airdrop any token as long as they are in your wallet.
Best to test out stuff on testnet first just to make sure you're doing everything fine.
And no, it won't list on DEX like Helix, etc., it'll just launch a market for it on chain exchange which can be traded in.
could I list it later in an exchange?
Helix is just a frontend for the markets on chain so if they decide to list it or not depends on them.
Well, yeah.
But depends on that specific exchange.
thank you
@topaz seal inj fee to create token stilll applicable?
also if yes, then how dojoswap makes cw tokens without this?
i made test token there, costed less than a dfollar only
how they do it while if we make voia msgmint msgcreate denom etc, then it cost us around 10 inj why?
@topaz seal
Yes, the fee is applicable to create tokens.
CW20 tokens are not native tokens. They are in essence a smart contract. As long as the CW20 contract logic you want to instantiate is present already in the chain, you can just instantiate the contract and start using it
Also, all this info is detailed in the docs. Once again I see myself asking you to please read the docs before posting questions and tagging InjectiveLabs team
look bro, i see docs, sometimes as new to cosmos, i dont find right thing, then i ask, i also first go through docs.
but as not much expert so dont find some things
can u explain a little more cw tokens?
i dont know them, can they bge used as just normal inj tokens too? or they behave different?
CW20 is a standard for tokens in Cosmos (similar to ERC20 in Ethereum). They are supported in Injective and they behave like a native token.
Native tokens on the other hand don't depend on a contract to be used (like CW20 tokens), all their logic is already part of the Injective chain implementation
so if one wanna create token, he better use cw or use native, in other words, which is better to use to make new tokens?
that will depend on the functionality you want to give to the token. A contract token will support all the functionality implemented in the token. The native token has only the basic token functionality
we can find token factory native token creation code in docs, can u give me docs link to create cw token for inj?
https://docs.ts.injective.network/readme/application-concepts#token-factory
i found this, to convert cw token to inj usage
but i am not even fimiliar with cw token or how to create it, can i get a doc reference to it?
@topaz seal i had a working code for native tokens making, but i lost due to some problemw ith my previus latop, tody made code again, ran successfully, but inj explorer showing this:
my code is attached too:
And what is the error? I don't see any error. Did you post it?
yup, i used to create denoms before, they were internally verified in explorer before, this one showing unknown, pic not loading (this can be pic fault though)
and showing unverified
Token verification is a process separate from token creation.
no no, i mean i previusly had same codw with same structure, but it was on explorer shown internally verified, not unverified, and let say now its speperate hwo to verify?
my previus code shown tokens like this
(ignore price and value, rest same)
@topaz seal as i made this token with my previus code, i dont remember but it was some one liner change https://explorer.injective.network/asset/?denom=factory/inj19xadglv3eaaavaeur5553hjj99c3vtkajhj4r6/Lenz&tokenType=unknown
does anyone know why my token doesn't appear to have a logo? I tried uploading png and webp
@topaz seal can u tell me why this is happening?
One more evidence that the information is available for anyone actually making a little effort to find it: https://docs.ts.injective.network/readme/token-metadata#token-verification
As I mentioned before: a process separate from token creation.
Don't bother tagging me in more messages, I will stop replying to questions that have been addressed in the docs (and also have been discussed here in Discord, and are easily found using the search box)
i already seen this, thats the problem i am facing.
look it say internal verified means we ran MsgsetDonomMetadata function right, so thing is i ran this, and successed transaction
but in explorer it dont show like this, it show unverified, even though its verified internally
i have sent multiple successfulll tx of MsgSetDenomMetadata
but its stilll shows unverified
I got it @topaz seal
see displayif token have 0 desimals
its empty, but it cause typos
thius causing erros
whats this display used in code?
as its not callled in code
@topaz seal in short:
I have ran on chain metadata creation function, it worked, given tx hash, and details in tx showing correct
But it dont make my token internally verified
👆Literally me from past 2 hours, when my code works, but somehow token not internally verified
there is some problem with denom unit and denom display in code, only these 5-6 lines causing problem
I updated both logo and name in metadata on token station but when I checked after some time only the name was updated and the logo never appeared
Hey! for the logo - should we upload the token image somewhere or is it going to be the one in the ipfs when we init the token and the logo name is like an alt for it ?
is the explorer http api down
You put it here: https://github.com/InjectiveLabs/injective-ts/tree/dev/packages/token-metadata/src/images
The image should have same name as you have specified in metadata.
Yeah, will need to add it to the token metadata package: https://github.com/InjectiveLabs/injective-ts/blob/dev/packages/token-metadata/CONTRIBUTING.md
can you check this pull req plz!
I think it should've been just MONKS as the value of symbol instead of $MONKS, without the $.
@oblique copper can u spot any p[roblem in this function?
async function MetadataCreate() { const denomUnitsIfTokenHas0Decimals = [ { denom: denom, exponent: 0, aliases: [subdenom], }, ]; const denomUnitsIfTokenHas6Decimals = [ { denom: denom /** we use the whole denom here */, exponent: 0, aliases: [micro${subdenom}`],
},
{
denom: subdenom,
exponent: 6 /** we use the subdenom only here (if you want your token to have 6 decimals) */,
aliases: [subdenom],
},
];
const displayIfTokenHas6Decimals = subdenom;
const displayIfTokenHas0Decimals = [];
const msg = MsgSetDenomMetadata.fromJSON({
sender: injectiveAddress,
metadata: {
description: "Testone is this" /** description of your token /,
denomUnits: denomUnitsIfTokenHas6Decimals,
base: factory/${injectiveAddress}/${subdenom} /* the base denom /,
display: "Testone",
name: "Testone" /* the name of your token /,
symbol: "MYTOKEN" /* the symbol of your token */,
uri: "https://d391b93f5f62d9c15f67142e43841acc.ipfscdn.io/ipfs/bafybeid5fxsq6x7d5lrlq5pocszvzlb4qomwxn6wmz6alzwmezo3qvvw6u/4.sm.webp",
// uri: "ipfs://QmWmJG7Lct49DMprg9wjKiEbdkbx7TQ7yjs5dVX8xx4S7E/4.sm.webp",
},
});
const txHash = await new MsgBroadcasterWithPk({
privateKey,
network: Network.Testnet,
}).broadcast({
msgs: msg,
});
console.log(txHash);
}`
The probvlem am getting is even if this func run successfully, and i get tx hash, explorer dont show token internally verified
show unverified
hi mate, am facinf similiar problem, i think due to this metadata tx runs, but explorer cant fetch dats on chain
Yep, the requests to endpoints were failing, team just fixed it.
can u review my metadat code, it runs successfully to update metadata of token, but thing is it dont change v erification status to internally verified in explorer
this func !
@kind flare sorry to tag,
but i think no one is able to answer my q.
setdenom metadata func is not making token internallly verified on explorer, rather show unverified.
Even though transaction is successfull.
here is my func of metadata:
async function MetadataCreate() { const denomUnitsIfTokenHas0Decimals = [ { denom: denom, exponent: 0, aliases: [subdenom], }, ]; const denomUnitsIfTokenHas6Decimals = [ { denom: denom /** we use the whole denom here */, exponent: 0, aliases: [micro${subdenom}`],
},
{
denom: subdenom,
exponent: 6 /** we use the subdenom only here (if you want your token to have 6 decimals) */,
aliases: [subdenom],
},
];
const displayIfTokenHas6Decimals = subdenom;
const displayIfTokenHas0Decimals = [];
const msg = MsgSetDenomMetadata.fromJSON({
sender: injectiveAddress,
metadata: {
description: "Testone is this" /** description of your token /,
denomUnits: denomUnitsIfTokenHas6Decimals,
base: factory/${injectiveAddress}/${subdenom} /* the base denom /,
display: "Testone",
name: "Testone" /* the name of your token /,
symbol: "MYTOKEN" /* the symbol of your token */,
uri: "https://d391b93f5f62d9c15f67142e43841acc.ipfscdn.io/ipfs/bafybeid5fxsq6x7d5lrlq5pocszvzlb4qomwxn6wmz6alzwmezo3qvvw6u/4.sm.webp",
// uri: "ipfs://QmWmJG7Lct49DMprg9wjKiEbdkbx7TQ7yjs5dVX8xx4S7E/4.sm.webp",
},
});
const txHash = await new MsgBroadcasterWithPk({
privateKey,
network: Network.Testnet,
}).broadcast({
msgs: msg,
});
console.log(txHash);
}
`
sorry to bother, u but i had a working code before, i remeber it was some syntax difference, bt i got my that laptop formtted due to some reasons now need new code.
https://docs.ts.injective.network/readme/token-metadata#token-verification read on token verification here
I already read it,
i have ran setdenommetadata, so it must be internally verified, but it show unverified on token in explorer
this is problem mate
look,i ran multiple times, but not updated on token in explorer
As u said @kind flare i already read docs throughly, and i knew this page before, but thing is even after running func, mmtadata is not shown in explorer, even if metadata tx is successfull
You are not doing something right then
All i can remember is some syntax error in docs of inj which i changed back then i was able to make tokens internally verified, but now i am not able to, kindly see my func code and telll any problems
I'm going to redirect you again to the docs as they clearly worked and the examples there have been tested before, so the issue is on your side and we don't debug codes.
bro, u r right, but there is syntax error in docs metadata code, u can see your self
So you want us to debug syntax issues on your code on a Sunday morning?
look, there is some missing code here which i think i aded myself previusly and it worked
sorry
As stated multiple times before, we are not going to debug code or offer help for syntax issues in your code. Please read the documentation or use tooling (for example VSCode with intelisense) that'll help you fix these issues on your own.
Do not blindly copy and paste the documentation, try to learn a bit about it and how it works before using it.
bro, what should i do ?
if i am working on same issue from the whole night
if i not copy pasted, rather worked on it and removed other normal sytax issues
I have made tokens before, but now error coming with same code whom should i ask?
I already and in real read docs, not blindly copy pasted.
Alll i am asking is after alll that, according to docs token must internally verified, its not.
so there must be issue in token metadata func
its only 10 lines of code
Being a you a superir dev, i came here as junior dev to seek guidence, and get any mistake which i cannot point, pointed out by you.
This is last place where one come if he got issue with inj\
its not syntax issue, if it was tx will not go through.
There are no issue on the examples. You are probably using the wrong denom/subdenom in your code and the verification is not done for the newly created denom.
wait, this is new thing u said, can u explain a little, this kmight solve my problem
wrong denom subdenom means?
second point verifiecation not done for new tokens, can u tell me on chain verification is also not done or only that git rep verification u talking, i only need internal verification
On top of the example you set the subdenom for the token you want to set metadata for.
A full denom looks like: factory/creatoraddress/subdenom
For your token, on the top of the code set the value of subdenom as the subdenom of the token you want to set, and also make sure the creator address is correct.
Or alternatively just paste the denom of your token here as the value of base:
// for example setting for qunt
const msg = MsgSetDenomMetadata.fromJSON({
sender: injectiveAddress,
metadata: {
base: 'factory/inj127l5a2wmkyvucxdlupqyac3y0v6wqfhq03ka64/qunt', /** the base denom example */
description: 'Qunt token', /** description of your token */
display: 'qunt', /** the display alias of your token on UIs (it's the denom of the unit with highest decimals) */,
name: 'Qunt', /** the name of your token */,
symbol: 'QUNT' /** the symbol of your token */,
uri: 'ipfs logo url' /** the logo of your token, should be hosted on IPFS and should be a small webp image */
denomUnits: denomUnitsIfTokenHas6Decimals /** choose if you want to have 6 or 0 decimals for the token */
}
});
By the way ser, a quick question: If we can set token metadata for bank tokens like this, the image, denomUnits, symbol, etc. are already there, so why doesn't the Injective dApps use the on chain metadata if the metadata is not available in metadata package?
Like, can't the Injective hub use the internally verified metadata to display tokens on wallet page if it's not available in metadata package?
Or....is it due to security reasons?
thanks, here is the example, successfull tx, but token still not internally verified
Resulting denom:
https://testnet.explorer.injective.network/asset/?denom=factory/inj1dskr075p0ktts987r8h3jxcjce6h73flvmm8a4/inj-test&tokenType=unknown
as u can see code is working, yet token remain unverified
They do
Eh, I must be remembering it wrong then, I do remember factory tokens being displayed as unknown, anyways ty.
this, this bro this, is my problem currently
Nah, I'm talking in context of Injective hub.
i have verified internally via set denom metadata, still it show unverified on explorer
bro can u help me, alll i need is somehow make my token internally verified showing on explorer
after using setdenommetadata func
Sorry, but not really sure, maybe you can summarize your issue in complete detail, together with your code which you tried with and someone might be able to help.
i sent mulitple times here, i can identify problem as:
Msg create, message mint working
MSgSetDenomMetadata is somehow wrong, it goes via tx (mean error not come)
But on explorer it show unverified token, and also tx show successfull
Here is my function code:
async function MetadataCreate() { const denomUnitsIfTokenHas0Decimals = [ { denom: denom, exponent: 0, aliases: [subdenom], }, ]; const denomUnitsIfTokenHas6Decimals = [ { denom: denom /** we use the whole denom here */, exponent: 0, aliases: [micro${subdenom}`],
},
{
denom: subdenom,
exponent: 6 /** we use the subdenom only here (if you want your token to have 6 decimals) */,
aliases: [subdenom],
},
];
const displayIfTokenHas6Decimals = subdenom;
const displayIfTokenHas0Decimals = [];
const msg = MsgSetDenomMetadata.fromJSON({
sender: injectiveAddress,
metadata: {
description: "Testone is this" /** description of your token /,
denomUnits: denomUnitsIfTokenHas6Decimals,
base: factory/${injectiveAddress}/${subdenom} /* the base denom /,
display: "Testone",
name: "Testone" /* the name of your token /,
symbol: "MYTOKEN" /* the symbol of your token */,
uri: "https://bafybeige2onhyaycokh63bjxh4ireydhyhdzm2aqgeg44rbc5wbna2zmhe.ipfs.dweb.link/LenzLogo.png",
// uri: "ipfs://QmWmJG7Lct49DMprg9wjKiEbdkbx7TQ7yjs5dVX8xx4S7E/4.sm.webp",
},
});
const txHash = await new MsgBroadcasterWithPk({
privateKey,
network: Network.Testnet,
}).broadcast({
msgs: msg,
});
console.log(txHash);
} `
@oblique copper i had a wroking code beforee, i formatted my drive, its non-recoverable.
All i can remember is i changed some syntax in metadata func which made it work
this token is made by me in previus code, it have alll things
Random guess, but are you sure - can be in symbol?
Maybe try with something like INJTEST
lemme do, bro
if u ever made token on inj, can u share mertadata func code?
I haven't, if doesn't work with different symbol then you can post in #1189372652561895475
see here bro, and tell kindly if u know solution
will I need to code? I thought token station didn't require coding
Yeah, token station doesn't require it.
Token metadata package is where Injective dApps get the token information from such as logo decimals cw20s etc.
So if you want to let your token display correctly on those dApps which use that package then you'll need to add the metadata there.
Btw it isn't code, it's simple JSON data bro.
Just check other pull request for reference and you can
create your metadata by taking them as example and then create a pull request for it.
any idea where I put them?
do I need to create some files or do I do it in github I'm kinda lost
Go to that GitHub repo, fork it, make changes to token.ts file, this is the path to it:
injective-ts/blob/dev/packages/token-metadata/src/tokens/tokens/tokens.ts
add your token's metadata there, check other pull requests for reference on how you can.
injective-ts/tree/dev/packages/token-metadata/src/images
This is where you'll put your token's logo.
If you need help on how you can fork, create pull request etc then check any YouTube video on that.
bro can i dm u? i need some help i will pay you if u want
Nah bro, don't, just ask your question here, this way everyone can help you if they know the answer to it.
Btw stay careful from scammers who DM you.
i agree
when launching a token on token statioin does decimals be related to supply?
and how to choose the supply if i'm building the token on the station?
No, decimals are like
the token decimals which your token have
Like if your token has 6 decimals
1000000 = 1
This is kinda how you'll fill the number o tokens anywhere in any TX, etc.
If you query the chain for balance of a account
got it but how to choose the supply?
the chain will return the tokens in that account in decimal denoms
like if that account has 1 INJ
and INJ's decimals are 18
okay awesome is revoking mint authority is the same as burn?
When creating a token station there is a field to fill the number of tokens you want to make.
Burn is removing tokens from the supply, revoking mint authority is taking away admin's power to mint more tokens.
there's only mint token
i don't know if it's same thing
You already created your token right?
i'm just playing on test net at the point
If you did then then the supply can be changed by minting tokens.
before spending money
When you create token, you enter the initial supply.
i just don't know why if i mit 1000 tokens i get billions of tokens
don't know how this calcluated
And when you mint: you add more tokens to supply.
The value you're seeing should be in decimal units
okay got it
Like I said, if your token has 6 decimals then:
1000 token = 1000000000 in decimal units
last thing i want to understand how to verify i mean where should i submit the metadata
Fixed it! ty ser!
https://github.com/InjectiveLabs/injective-ts/pull/438
Scroll up in this channel.
Explained up there to other guy
but if the token isn't verfied it won't be traded?
It can still be traded
Verification is only if you want your token to be supported on most of the Injective dApps
where at the create token section i will get to choose the circulation supply or as you said just minting the supply?
For the chain the whole supply is in circulation
If you wanna lock the tokens then you might need to do through some contract which has logic for that, or implement something else
Oh, and through the create token section you create the token
Like make a new token
For example I can fill in the details there and make a REINC token or smth
yessir
what's reinc?
example
You make new token through that page
Just fill in the details and create the token that's it.
Now once you do that you can go to manage token tab to mange the token you created, such as mint more, burn, mint more, change admin or remove admin
yeah awesome thx for this valuable help and then just providing liquidity on astro and then that's it get people to go and buy
Guess so, gl with your token
@topaz seal @oblique copper who should i check with to get this merged!

If there are no issues with it then it'll soon be checked.
Just check back later.
Ty Team!
whats this site, u did not made via token factory code from inj docs?
hi, if u made token, how u made it, if you can help me i willl be thankfull
Just got freind req by inj support, wow, hahahahahahahahaha, will like to get real one, i am tired of 2 days of same error in token metadata
can u telll me code of function MSGSetDenomMetadata, u used to get this on chain?
@oblique copper
bro, i am waiting for your reply here:
https://discord.com/channels/739552603322450092/1221446461640802345
Your too @topaz seal
i will be thnakfull!
Read the documentation in the link I shared with you. The action JoeVenner performed by submitting the PR is stated in the bullet list in the docs.
i was asking him seperate thing, this is not that, i am asking in forum about internal verification, i ecxplained each line and aconfusion in forum article, that how inj doics sayi did same, but now result is different
https://discord.com/channels/739552603322450092/1221446461640802345
forum page post link is this abovew
Any eta plz wen the PR 438 will be merged! 🙏
Does anyone know how long it takes for the PR to be effective? I submitted metadata for a testnet token but it hasn't been updated yet
https://github.com/InjectiveLabs/injective-ts/pull/442
As soon as the team is ready to review it. No ETA, but for sure not during the weekend
tokenstation.app
I imported data from a pre-existing token on the mainnet into the testnet to perform some tests, but the settings as creator are different and the token was not updated on the network, how can I fix this?
@topaz seal updfate done now?
is the airdrop distrubution file supposed to be in big int form ? like with 18 zeros if you have 18 decimals ?
math/big: cannot unmarshal "4.0008e+24" into a *bi ...
What do you mean with "airdrop distribution file"?
on token station
I'm having this exact same problem. I minted a token with 18 decimals and when trying to airdrop it failed with the same msg: math/big: cannot unmarshal "1.0008e+18" into a *bi ...
yeah my work around is just send them using a script
it looks like a javascript error because it cannot handle those big numbers
I'm new to INJ (from a technical standpoint) but diving in head first. Something I like to do is clone the relevant repos and get a full clone up and running locally to learn the platform. Will someone pretty please give me a short list of which repos are required to do this to give me a jumpstart? And to be clear, I'm not talking about spinning up a validator. I mean the entire chain. It's how I learn yoooo.
Thanks in advance
How do i convert my token from tokenfactory to cw20? can someone help please
or do i need to create cw20 token from the start?
Yes, has to be done from the start imo
alright, is there some platform that does it for me or?
or tokenstation already has it?
Yes tokenstation
but it always creates a tokenfactory token on there, i need cw20 ;/
or do i need to create a tokenfactory token first and then launch market for it? will it turn to cw20 then?
you can use dojoswap cw20
code id 357
could u send me the link for it please?
go to dojoswap ui create token and look at the tx it produces
how long it take for my token to verify
and is this correct guys?? https://github.com/InjectiveLabs/injective-ts/compare/dev...Rickshanelorie:injective-ts:dev
I want to make a swap with typsecript on coinhall. I found the msgexecutecontract (-compat) in the docs. I just want to execute smart contract for market price. I do not understand 100%. Anyone can explain quickly what information i need? The contractaddress for compact and also the recipient for normal msgexecutecontract (transfer) but how would i know the recipient if i just want to swap my inj for a token on coinhall
Also, what is the meaning of the "test" as action? And what should be standing there?
Check the docs for the contract you want to execute, if it's Astroport's then you can check if they have docs available on how you can make swaps using their contracts or ask in their community as well.
If DojoSwap then you can check their docs here: https://docs.dojo.trading
For native market swaps you'll need to create spot markets orders on the on chain markets to do it.
btw ban this dude
i checked how coinhall is usually doing their swaps and its msgexecutecontract but there is a recipient needed which i dont know
Coinhall executes contracts of swapping protocols and DEXes to perform swaps.
@topaz seal are testnet apis down right now?
Error verifying transaction: Error: Service Unavailable
at IndexerRestExplorerApi.<anonymous> (/var/task/node_modules/@injectivelabs/utils/dist/cjs/classes/HttpRestClient.js:55:65)
at Generator.throw (<anonymous>)
at rejected (/var/task/node_modules/@injectivelabs/utils/dist/cjs/classes/HttpRestClient.js:6:65)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
type: 'http-request',
code: 503,
originalMessage: 'Service Unavailable',
name: 'HttpRequestException',
errorClass: 'HttpRequestException',
context: 'txs/9BB0BA46EAEF56DAE1DBEC937FAC9FAB7F48C01C9061FA9981C7CA2D658D0BA3',
contextModule: undefined,
method: 'GET'
}
using mesg send to send some nativew inj tokens, was working before
and fetching tx id details from api
its get req, means its error in fetching tx details problem
@topaz seal
Oh look like whole explorer is down, i thought i messed my code up again, phew, its not my fault, i hope servers come alive again
soon
soon
check please it's for testing a big project it can't wait
#445 opened yesterday by catripilar
Sorry, we are developers, not magicians. We will need more details to try and help you
You will have to wait until the team can review the PR and merge it. The team has a lot of priorities and some times it is not possible to address community PRs righ away
@topaz seal @kind flare
Yo hooo, This tagging is not for problem, its for thanks, I mean look at pic, how good it looks internally verified with 6 decimals!
Thanks again
||(Lemme see problem with my img though 😊 )||
haha okay sir
No problm u r welcome, btw i am, also learning how to importseed phrase in wallet by ur scammer clone 🤣
Please contact those dapps' support team
You can find the taker and maker fees in the market info
Is it possibile, from inEVM moduele, to interact with the wasm module? And the exchange or auction modele?
@topaz seal Are token facotry 10 inj token making fees removed?
just made native token costed only 0. inj around
i made in december one for a client, coste 10 inj + fees of tx
InEVM is not a module, it is a second layer chain on top of Injective. You will need to refer to InEVM documentation or ask Caldera team
The creation fee can be found in the tokenfactory module params
Ok thanks
is there anyone who has experience of solving this issue
out of gas in location: wasm contract; gasWanted: 400000, gasUsed: 422098: out of gas
if you have ever solved this, could you help me?
i am using injective/sdk with typescript
Increase gas limit
could you explain as code?
Please refer to the documentation to see code examples
very sorry,
tbh i cant find code example. could you let me know the link?
@topaz seal I I’ve been trying to join the telegram but it says group is private
!links
🏠 Injective Hub:
https://hub.injective.network/
🌉 Injective Bridge:
https://bridge.injective.network/
🔭 Injective Explorer:
https://explorer.injective.network/
🌐 Website:
https://injective.com/
🐦 Twitter:
https://twitter.com/Injective
📱 Telegram:
https://t.me/joininjective
🫂 All Social Links:
https://linktr.ee/injective
Would it be possible for you to provide the subaccount id to investigate it?
booombastis
I need a script to organize/collect, in a CSV file, the transactions of an Injective wallet, including date, hash, address sender and receiver, amount sent/received.
Unfortunately, the tool available at stake.tax does not have information about the wallet that sent the amounts.
How can I get such a script? I don't understand programming. Thanks to anyone who can help.
I checked one case for a trade that caused a fee to be charged to you, and I see there is no error. The order referenced by that trade has order_type "BUY", not "BUY_PO"
{
"orders":[
{
"orderHash":"0xc630bae811f0354258bb4738a63d59ca8609e0f0988c85d436852cba245d3def",
"marketId":"0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0",
"subaccountId":"0xee7fe3b8a43a96580610aae6db2bbfd363bf5ce6000000000000000000000001",
"executionType":"limit",
"orderType":"buy",
"price":"0.000000000038096",
"triggerPrice":"0",
"quantity":"25000000000000000",
"filledQuantity":"25000000000000000",
"state":"filled",
"createdAt":"1711619872248",
"updatedAt":"1711619872248",
"direction":"buy",
"txHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"cid":"30b8de9b-c29f-40e6-a96c-098b0b39cac5",
"isActive":false
}
],
"paging":{
"total":"1",
"from":0,
"to":0,
"countBySubaccount":"0",
"next":[
]
}
}
That means that the order was a normal limit order, not a post only order
As a result in this case the trade was executed as "taker", and for that you were charged a fee
@hexed dock here you have a TX example were you are sending regular limit orders, not post only orders: https://explorer.injective.network/transaction/F9105A345D5FA3563981A3E5685807C2F1064539F8375A25D61953CFCF50C78B/
guys
when verifying to Astroport Token Lists
how to know my originChainId or can i leave it empty
Is the code for the grid trading bots on helix available ? I can't find it on helix github
depends on the type of token, but initially I would say yes. Please check the Python and Go API documentation
One question
How can I query the wasm contract with RPC endpoint?
I've seen that inj-ts uses the ChainGrpcWasmApi. (grpc endpoint)
But, I'd like to know if there is rpc query I can use.
That is not open sourced sir
Ts no ?
Well, once you know the query you need to run, you should be able to do it from any of the SDKs
Can you link me please
RPC is a protocol. gRPC is an implementation. So when you say if there is an RPC endpoint, the answer is yes: the gRPC one
Yes, but so does Google or any web search engine. I am confident you can find it
Personally, I have a doubt about the use of the migration technique, there is a contract that needs to be updated that is already active on the mainnet, but I would like to know how to effectively "update" the contract so that a new governance request is not necessary to wasm-store etc, is this possible?
"First, you must write a newer version of the contract you wish to update. Second, you can upload the new code as you did before, but don’t instantiate it."
This is what is making me doubt "upload the new code" since the upload would be carried out by wasm-store but this requires governance approval, correct? like "submit-proposal wasm-store" because the update system needs to know the update data is there any way to do this without governance approval as is done in the "wasm store" testnet
Hello! I need tools to operationalize a CW20 token airdrop. Basically:
- reading/transporting data from injective explorer (wallet sender address + amount sent) to csv file.
- Based on the above file (csv): airdrop (multi sender) (different quantities) + refund.
Any developers interested in helping me?
https://docs.ts.injective.network/core-modules/wasm#msgexecutecontractcompact this is buggy as hell isn't it?
There must be msg somewhere and funds is out of exec?
does it mean i couldn't send my token to 1000 people with the gas limit? Whats the way to go there?
Also, i would want to send them more or less within a short period of time
I have a problem when I try to stream orderbook from derivative exchange.
I use the code given here : https://api.injective.exchange/#injectivederivativeexchangerpc-streamorderbooksv2
I have no result with this code but when I try another market id I get this error:
DeprecationWarning: There is no current event loop
asyncio.get_event_loop().run_until_complete(main())
There was an error listening to derivative orderbook snapshots (<AioRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "Received http2 header with status: 502"
debug_error_string = "UNKNOWN:Error received from peer {grpc_message:"Received http2 header with status: 502", grpc_status:14, created_time:"2024-03-29T17:35:06.2134526+00:00"}"
)
The derivative orderbook snapshots stream has been closed
I tried the KAVA/USDT market id : 0x2d8b2a2bef3782b988e16a8d718ea433d6dfebbb3b932975ca7913589cb408b5
Can someone tell me why i get the error „failed to get subaccount: object not found“ when i try to request subaccount balance on testnet? I get the subbaccount id from Subaccountslist request and also on injective explorer i get the wallet address when i search with that subaccount id
What network configuration are you using?
That happens when the subaccount is not found. Have you transferred funds already to the subaccount?
Here is the code :
import asyncio
from typing import Any, Dict
from grpc import RpcError
from pyinjective.async_client import AsyncClient
from pyinjective.core.network import Network
async def orderbook_event_processor(event: Dict[str, Any]):
print(event)
def stream_error_processor(exception: RpcError):
print(f"There was an error listening to derivative orderbook snapshots ({exception})")
def stream_closed_processor():
print("The derivative orderbook snapshots stream has been closed")
async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
client = AsyncClient(network)
market_ids = []
task = asyncio.get_event_loop().create_task(
client.listen_derivative_orderbook_snapshots(
market_ids=market_ids,
callback=orderbook_event_processor,
on_end_callback=stream_closed_processor,
on_status_callback=stream_error_processor,
)
)
await asyncio.sleep(delay=60)
task.cancel()
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
You can try. Maybe the current gas limit is enought for the number of transfers you try to execute
Is the market_ids list empty intentionally?
I wanted to try for all markets
In that case it might be better to use the chain_stream
Okay thanks you so much Abel for your time
no problem
@topaz seal while poping tx for user in site, which network should we use, mainnt? or mainnet sentry?
whats diffrence betweeen sentry and non-sentry?
The question was related to Python SDK. There are not such things as sentry and non-sentry in Python SDK
i am talking for ts sdk, for my app
Like where we should use only mainnet, where mainnet sentry etc
in next js app i mean
@topaz seal can u plot some light on this?
The thing is those are network configuration that use the public nodes. You should be using your own private node ideally.
greetings everyone. Where can i deploy cw20 contract on inj
@topaz seal couldn’t find any query to get holders for a token on inj
Check this: the sole description of the documentation section is your question https://api.injective.exchange/#bank-denomsowners
Yes, I think it will help
Good day, fam, I am a full stack blockchain developer and looking for a challenging project to work on.
I have extensive experience in dapp development.
Please let me know if you are interested.
@topaz seal
if we send token to zero address they are burned or just transfered, if we wanna burn tokens we need to speaciallly use MsgBurn function or we can simply send to zero adress too?
Like if we send to zero address, does supply number go down in token info on explorer, or only MsgBurn usage can do that?
You have to use the MsgBurn for TokenFactory tokens
I have one question.
Where can I query the cw20 token balance of smart contract account?
FYI, I've used injective explorer, sdk-ts, sdk-python, lcd swagger endpoints.
The issue is that explorer is showing the balance different from lcd, sdk-ts queries.
For example, the explorer says the contract has 100 token, while others show 105 tokens.
I'd like to know where else I can query the cw20 token balance(essentially smart contract state).
packages/token-metadata/src/tokens/tokens/tokens.ts
i know this file, but i dunno how to create pull req,i mean i am sorryto say it, but i opened repo in code space of github, pated this:
DDL: {
name: 'Discordels Token',
logo: 'DDL.png',
coinGeckoId: '',
tokenFactories: [
{
creator: ' inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls',
symbol: 'DDL',
decimals: 6,
},
],
},
but all file turned red with typos, i dunno how to add my this info to your repo, thaqts my issue, i know its little silllyu, basic issue, but i am confused.
I hope u can guide me @topaz seal bro, i will be thankfull.
@simple whale Can u explain this metadata adding in repo here?
I will be thankfull, i seen u did before
I hope you can give some help. @topaz seal
You should be able to query any account's balance using the bank module queries
How can I edit governance propsal's title and summary>
@topaz seal can u see my q too?
this one @topaz seal
Support team
I run script that governance.
But title and summary are not effected.
So displayed like this.
title: Proposal Title
summary: Proposal Summary
Please clarify your question. I couldn't understand a single word you wrote
Could you confirm what is the issue? From the original post it sounds like you are habing issues producing a valid JSON
Hello fam! I was just wondering, is there a way to simulate Injective Smart contract execution without actually uploading the contract to the network?
I have been playing with Injective for a while and it seems like a lot of steps (build, optimize, upload, instantiate, and test) every time you want to make a change and verify everything works.
I need to create a new token on injective based on this smart contract.
https://github.com/CosmWasm/cw-plus/tree/main/contracts/cw20-base
Do I need to deploy this contract to mainnet and instantiate contract from that one?
Or if I use the injective token factory following the injective documentation, is it based on the cw20-base smart contract?
https://docs.injective.network/develop/guides/token_launch/
@topaz seal could you guide me with this one?
You can use any current deployed CW20 contract code to instantiate your contract, provided the current uploaded code has the implementation you need and it is configured to be instantiated by everyone (or you in particular).
Native tokens (TokenFactory tokens) are not the same as CW20 tokens. You can find more details about each one in the docs
Thank you for your response, Abel
So to use cw20-base contract, can I use the code id you provided?
#🚀・dev-support message
And then what could be the denomination of the token if we instantiate from that code?
If I instantiate a cw20-base contract, then the token denomination will be the same as the contract address: inj.....
What will it be if I instantiate a contract on the mainnet?
And btw... how can we launch our new token on injective mainnet with its own symbol?
You can use that code_id, provided that implementation is what you are looking for.
Regarding the symbol, please check the contract instantiation message and the parameters you should send (you can check previous TXs instantiating that same contract_id)
I just found out one token instantiated from that code id.
https://explorer.injective.network/account/inj1maj952d7h8ecseelsur6urhm7lwwnrasuug4y0/cw20balances/
So when we send that token as a parameter, we need to send denomination as inj1gn3py3euhfunvt5qe8maanzuwzf8y2lm2ysy24 if we use the type of Cw20::Denom. right?
Sorry, but that is not a CW20 contract address
To transfer tokens from a sender to a receiver for a CW20 contract, you have to interact with the contract
not a Cw20 contract address?
really?
Is it impossible to write Cw20::Denom like this?
{"cw20":"'inj1gn3py3euhfunvt5qe8maanzuwzf8y2lm2ysy24"}
Please check CW20 standard documentation for CW20 token transfers
To send the token within Injective, you need to execute the CW20's "transfer" function. you can do this through whatever means you like. Probably most straight forward is to add the cw20 "token address" to whatever wallet you're using and let it execute it. Otherwise, if you need to transfer it via IBC to some other network (which I don't think is possible at the moment on Injective, but correct me if I'm wrong), you need to build the so-called IBC denom.
@topaz seal What would the most direct and standard way be to get social signup/login working with an Injective dapp? I went to install web3auth but I didn't see Injective listed as a supported chain.
So I'm wondering what FE wallet provider lib Injective Hub is using, for example.
Ultimately, I'd like to have a modal with options to connect with Keplr, Leap, etc. or with social auth via web3auth or, say, Torus
You can check the Injective TS SDK documentation page to see examples on that and a detailed description
I had various test on the testnet for cw20 token transfer with this denomination.
Will it work the same on the mainnet?
I am going to upload and instantiate the smart contract on the mainnet.
Could you answer the following questions for me?
- Once we submit to mainnet, are we able to push other smartcontracts without paying the fee again?
- Is 10inj enough for us to get approved or will it be 100?
- What is the likelihood of us getting denied and having to resubmit?
-
When you create a proposal for MsgStoreCode, it's to upload your smart contract code to mainnet so you can use the code which you upload to initiate several smart contracts using that code, if you wanna upload another code again then you'll need another proposal.
-
You'll need to initially deposit minimum 50 INJ to post the proposal, the minimum deposit required is 100 INJ so others can contribute to the rest 50 INJ deposit required, or you can just initially deposit 100 INJ to skip that.
-
Depends on how well detailed you write your proposal and make sure to start a discussion about it on https://gov.injective.network/ first to discuss about it get the community opinion and views about your proposal, also open sourcing the code of your smart contract might increase the chance of it being approved.
You can check the procedure of the proposal here: https://blog.injective.com/en/injective-governance-proposal-procedure/
And make sure to test everything on testnet first before you actually do it. :)
Thank you for your answer!
@topaz seal Do you also agree with this one?
no no, i knows all docs point where etc, like i said i am having issues on how to submit my req to repo. can u pull it for me, like i can give u data, u can pul to repo, founders can review?
this will be lot helpfull
or no problem, u can guide me too
Is the source code for Injective chain open source? I'm trying to learn if Injective has ICS-29 (relayer incentivization fee middleware) enabled but I can't find the correct repo.
Sorry, we don't do that kind of work. Since the repo is open, anyone should be able to submit a PR to it. No need for InjectieLabs team members to submit the PRs for the community.
yeah sure, no problem in it, PR means pull req or push req?
as you cant do it, which is fine, kindly guide me on it
I seen contribution guide page
from token facotry ts doc pagelink
i seen repo
i know i need to add this in tokens.ts:
DDL: {
name: 'Discordels Token',
logo: 'DDLlogo.png',
coinGeckoId: '',
tokenFactories: [
{
creator: ' inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls',
symbol: 'DDL',
decimals: 6,
},
],
},
But i dunnow how can i take this code, go to repo, and add my code to repo?
I mean what i gotta do to commit my code to ur repo?
Sorry, we don't provide personal guidance on this because your question is not Injective related. You are asking how to use Git and GitHub. There are many guides in internet for that. You can also use previous PRs from other community members as examples.
exactly i seen previus commits, but i dunno how to add mine, can u see if i am wrong:
I opened repo in git code space, then added pic and metadata, pic in images folder, and code in ts tokens file, but it became red, can u see any inj tokens.ts conflicting coee in my code above?
hanks
Look, this is commit for nonja token and root token, its a past successfull comit.
Its commit to :
packages/token-metadata/src/tokens/tokens/tokens.ts
which by my perspective it this file:
https://github.com/InjectiveLabs/injective-ts/blob/dev/packages/token-metadata/src/tokens/tokens/tokens.ts
i think i am going to wrong file or my code have errors, can u kindly see it? i literllly edited nonja syntax for my token code, but if i go to tokens.ts in codespace and paste it, it becomes red.
i got cotrrectly in codespace commited, but this error shows while commiting to repo
I think ia am getting it @topaz seal , almost near to solve it
Did it @topaz seal wow, thanks for help, i hope it gets approved
yooo hoooo done it bro, lets see approved or not
Bump
@topaz seal Could you reply to this for me?
1- Each new contract code has to be submitted to mainnet with its own proposal
2- Proposal has to have 100inj deposit to enable voting on it
3- Depends a lot on you convincing the stakers on the benefits of your contract code
Really appreciate for your answer, Abel! 👍
@topaz seal Could you guide me for some issues on my end regarding the governance?
- I need to create a cw20 token on mainnet based on the code Id 357. How can I instantiate the smart contract from that code id?
- Do we need to deposit also everytime we instantiate contract from the code uploaded on the mainnet?
Both questions are explained in the documentation @fossil condor
I just had a look at Governance tabe in the the injective hub. https://hub.injective.network/governance
How can I write proposal like that?
I cannot find the relevant type for MsgStoreCode.
You don't use the hub for that. You need to follow the steps mentioned in the documentation
okay, got it
@topaz seal Could you answer these questions from our team?
- Can we submit proposal with 0 Inj like I see on the Inj hub
https://hub.injective.network/proposal/376
https://hub.injective.network/proposal/373 - If we have several contracts to be uploaded, do we need to submit them one contract at a time?
- Is there refund possibility on the voting?
@topaz seal I tried to upload logo (.png file) to the existing contract of cw20 token. But I cannot see the logo shown.
How can I resolve this error?
https://explorer.injective.network/transaction/31D057B821BF1DF9EF3989AB37CD14ABB9CF219A14681500A2A8BEEEB2E60F59
Do we have any code id for creating cw20 token at injective testnet ?
Just want to instantiate and deploy my token
@topaz seal any ideas how long it takes to be reviewed for token metadata?
Testnet down ?
I am not sure what the contract does with the logo. You will have to check the contract code
okay, got it
thanks for your response 👍
i have a question about oracle price, MsgRelayPriceFeedPrice will update the onchain Oracle price, but who will call this function and update the price ?
Yes, team is on it
Okey 🫡
Btw it seems testnet is back.
Hey guys, if any one could help sort my queries, as I haven’t been able to find any information on this matter.
Transactions on inEVM does it get added to the injective block?
@topaz seal i have opened pull req from 2 days, no reponse!
this is my req, is it ok? or if errors why dont thery rejected yet?
https://github.com/InjectiveLabs/injective-ts/pull/456
There is a comment from one the engineers in the PR. You have to address it for the PR to be considered for merging.
Please do all the due diligence in the PR before posting more questions here about it
@topaz seal do you think I can get a reply to this ?
Yo guys, was looking in the cw-injective repo but didnt manage to find anything ready to interact with the auction module; maybe i missed it? Or it need to be built yet?
inEVM is not implemented by InjectiveLabs, but by Caldera team. I guess the chances of getting an answer would sky-rocket if you asked the same question to their support team
cc: @frosty kiln
Hey guys!! I've got a really simple question but I've struggled to find an answer online
When broadcasting a TX, if the result contains a code that equals 0, does that mean that the transaction for sure succeeded? Or simply that it was sent successfully to the network?
Perhaps @topaz seal you might have the answer? It's really simple I'm sure but it's been quite the struggle to find a clear answer online sadly
Transactions only succeed when they are included in a block, and executing the actions they include does not cause any failure
Yes, that part I understand np
My question is more to know if when I send a transaction (using client.broadcast for example), and that the response code is "0", does that necessarily mean that the tx has succeeded and is included in the block?
The question does not make sense. Please try to investigate a little bit on how blocks are produced and the concept or node's mempool
The "code" in the response has different meaning depending on the broadcast method. Generically we could say that "code" 0 menans the transaction was broadcasted. "code" != 0 means there was a problem during broadcasting
Alright so if code is 0, I am 100% sure that the transaction succeeded right? Or do I still need to monitor its status using the /tx endpoint of the RPC
Thanks a lot for taking the time to answer btw
@topaz seal Please ser when you have a sec, I just want this ^ confirmed and I'm all good 😭 Appreciate you
you are 100% sure that the transaction was minted i think, but dunno on the fail/rever or success. test around and you will probably find easily
It's quite hard to test actually (unless I'm doing something wrong)
maybe I could just try making a tx sending more tokens than what I actually own to test, but I figured I would ask first since it should be fairly easy to tell for people used to the ecosystem
Yep try that way, or use low gas limit so it fails
So you can figure out everything, sorry i cant help much more
np I really appreciate you 🙏 definitely will give this a try
@topaz seal quick problem please, how can we verify by tx hash that txc gone thourhg successfully or failed?
@kind flare i will appriciate answer as i urgently need it
You should query the TX using the hash, and check its status
i am querring tx, i can get its sender receiver, where does status lies in it? i will be very thankfull to get help
please check the API documentation page. All the reponse's fields are explained there
In fact Arthur was speaking about that a couple of messages before
sure, can u give me please link to specific article mate?
i will be thankfull
@topaz seal there is nothing is response object of tx fetch that if it succeeded or not:
Try checking of there are error logs; if no error logs than tx probably succesfull
[Running] node "f:\Tokens making code\Injective\DDL Create\FetchTz.js"
{
id: '',
blockNumber: 25444582,
blockTimestamp: '2024-04-06 01
26.883 +0000 UTC',
hash: '0x9c5ee444384a3fce4230e461463cfe2ced18722df0a5732100cd07d7f8240db2',
code: 0,
info: '',
memo: '',
gasWanted: 400000,
gasFee: {
amounts: [ [Object] ],
gasLimit: 400000,
payer: 'inj1ef5ddgx4q83a8mmap2gxsc7w5q5pj6rmfhjaex',
granter: ''
},
gasUsed: 85822,
codespace: '',
signatures: [
{
pubkey: '0292c2c4390f65b38c094dbae6cd9d9c28b3c27c898347f9acccdd084ae946eec7',
address: 'inj1ef5ddgx4q83a8mmap2gxsc7w5q5pj6rmfhjaex',
sequence: 24,
signature: 'skUopKxa6ZfjXRsgkU6whKK7ENRYHrcJHkQAklBnnsFPGIC0WP4vsmKcaC/94A1sYGwdmoei5snkN6Ofw53KDw=='
}
],
txType: 'injective',
data: 'EiYKJC9jb3Ntb3MuYmFuay52MWJldGExLk1zZ1NlbmRSZXNwb25zZQ==',
events: [],
messages: [ { type: '/cosmos.bank.v1beta1.MsgSend', message: [Object] } ],
logs: [ { msg_index: 0, events: [Array] } ],
errorLog: '',
claimIds: []
}
[Done] exited with code=0 in 2.179 seconds
@topaz seal thats the problem, we dont have anyway to check status, i got a rare rerror, if we sign tx from wallet but less balance tx is like same as real one, butlater its declined, but if fetched its same as real one
this was real, lemme give u a tx which was failed
Bro just check errorLog
there are no errors!
got error
code if non zero of tx fetched = unsuccessfull, if error log is not epmty= unsuccessfull
got it
Wow, incredible! Exactly as specified in the docs! Who could have anticipated that?
any way to increase gas fees while using msg send/broadcast?
Gas price is not relevant on injective for speed; but you can still set it
Also can set gas limit but will make your transaction more expensive probably
thanks for taking all the heat for me brother 😭💯
so you are saying if i let it on default its as fast as if i increase it? I want every ms advantage
Milliseconds advantage in a descentralized environment where blocks are produced every 800 milliseconds? Please be sure to understand how the chain works before adding money on it.
Regarding your question https://api.injective.exchange/#faq-14-does-gas-fee-affect-block-inclusion-and-transaction-ordering
Transactions mint? Yep; but maybe you can add manually the gas so it dont have to be simulated before
But not sure if that will give you speed
Looking to snipe? 🤣
Well... i just want to be as fast as possible. Looking at the recent $monks presale it seemed to matter if you were ms ahead of others
Well yes and no, it would be cool to have something like this but also i don't have any targets in the future so I am just playing
idk if tx in same block are just listed randomly or by some logic but the earlier the better probably. Look at the timestamps
What should I be seen in the image? What you marked in red is the block height, not a timestamp. And all TXs (I assume it is a list of TXs) from the same block have the same timestamp in your image.
There is some sort of order of tx in the same block
Or is it randomly
Also, 13:00:13 vs 13:00:12 is 0:00:01 difference? Seems pretty small between blocks. Please enlighten me
Well, yes, of course TXs are processed in sequence when a block is produced. You can check Tendermint documentation if you are insterested in the low level details.
Not sure what that list is showing, I can't really provide an opinion on that. If you want to check the timestamp of a particular block you can get the block info using the API. I don't really think a block can be produced 1 ms after the last block (not even if the validator nodes would be running in the same machine)
Its just the injective explorer showing many tx that got sent at same time
Since you are here, did you guys fix your documentation compact - compat thingy?
Not sure, I haven't checked recently. But remember all documentation repositories are open source. If you find errors feel free to send a PR to fix them.
Its about this on the docs.ts.injective.network/core-modules/wasm#msgexecutecontractcompact
The actual module is compat not compact
Seems it is not fixed. We will be waiting for your PR.
cc: @jolly pulsar @kind flare
And what's the issue?
Please double check your screenshot. The timestamp format for the time is hh:mm:ss, meaning that the last number there represents seconds units. If there is a difference of 1 between the last TX of a block and the first TX of the next, that does not mean the new block was produced 1 ms after the previous one. It means it was produces 1 second after the last.
Look at this. Compact is not part of the library. Its MsgExecuteContractCompat.
@kind flare
That makes sense now
""@injectivelabs/sdk-ts"" doesn't have the exported member named "MsgExecuteContractCompact". Do you mean "MsgExecuteContractCompat"?
okay, we will fix
first come first minted probably
yo, sorry to ask again, any update on this @frosty kiln
Guys, so I am a fully tech guy, works on full stack dev/devops and smart contracts (rust, solidity). I have a pretty good idea, which I think I can implement and I know can change the way DEXs work (coz I havent seen the same idea anywhere else implemented). I don't know how to get started or how to put that into a real functional dapp. Can someone please guide me
PS: I want this to be over Injective, that's y I am asking this here
You can check this to get started with building a dApp on Injective: https://docs.ts.injective.network/building-dapps
Thank you. I figured out the dev side already btw, I wanted to ask is there a platform I can get to know someone interested in building this together or a grant round ongoing, something like that
Yep, you can check: https://injective.com/venturegroup/
Hello, does anyone know how to provide liquidity to an astroport pair using the python sdk ? Thank you !
@topaz seal Hi Abel, did you have a nice weekend?
Would you let me know how I can execute injectived command from a smart contract address, not my wallet?
I want to get that contract address as the sender in cosmwasm_std::MessageInfo.
Hello, feel free to DM me if you want to share more information about your idea. I'll be more than happy to provide some feedback and guidance, and anything else that may help you.
I would recommend asking this in the Astroport Discord server
Hello. I don't think you can execute injectived from a smart contract. Also since the smart contract is executing from inside the chain, I don't think you would need to execute injectived for anything.
We should ask @frosty kiln about this, he will be able to provide more info
@topaz seal Got it, thanks for your response 👍
yup thats why i thought the faster the better
Correct, its just a matter of raw speed, gas dont matter
https://github.com/InjectiveLabs/injective-ts/pull/456
@topaz seal waiting from 3 days foir review, no comment or reply in pull req
Just wait bro, asking again and again won't get it merged quicker.
Just stay patient and it'll be done soon.
Gm ninjas! I'd like to invite you guys to a builders-only TG chat. Feel free to use this chat as another avenue to ask questions and provide feedback to your fellow builders. Please note that this is strictly a technical group; if you have any questions feel free to DM me: https://t.me/+8Y_0HOFLhnRlZDU9
@topaz seal Is 10INJ enough for submitting the proposal?
And then it will be passed once 100INJ is deposited to the proposal, right?
You need 10 INJ to submit the proposal. The stakers will be able to vote once the full deposit is done (100 INJ). Whether it passes or not does not depend on the funding, but on the votes
Where does full deposit (100INJ) come from before stakers vote?
From any interested party in the particular result of the proposal. In the case you are planning to upload to the chain your contract, the full deposit should come from you. It is not usual that the community will provide funds to help lunch a private project (it could happen, but I would not count on it)
Of course, we will make depsit.
btw... what is this deposit amount I can see on the passed proposal? Its actually 0.00.
As the name mentions, that field shows the current deposits in the proposal
they did not make any deposit when they submit the proposal?
Please read my answer: "the field shows the CURRENT deposits in the proposal"
hmm... okay, make sense
Hi team, I am looking to run my own rcp-url similar to https://inevm.calderachain.xyz/http
can someone point me in the right direction
Maybe ask in: #🚀・dev-support message
You'll get faster response there I suppose, or probably Caldera might be able to help too.
u say right but its 1.5 weeks, how long should i wait
Let me follow up on this for you sir
Oh, mine was merged in like within few days but saw another guy who had merge conflicts and for him it took around 2-3 weeks.
I have a question regarding the streamBlocks socket. Is there a way to implement it in a way, that it reconnects in case it doesn't get the new block data? Thanks
You need to handle that on your application side
You can provide your own registry of tokens for your dApp within the TokenMetadata abstraction, you don’t need to wait for us to merge your PR. I’ve added your token and republished the packages btw
Can you give me a basic idea on how this could be done? With evm websockets I normally call ping and wait for response and reconnect if I get none within some timeframe. I don't see how this could be done here?
When you establish a connection, if the connection dies out you’ll get a error response back from the server
Got it will try that thanks
Hey guys, I was wondering if you had something I could check in order to implement arbitrary signature verification? (I'm using the signArbitrary method of the wallet strategy, and look to verify it). Using the TS package
hey guys, just want to double check something from the docs: if I want to deploy a cosmwasm contract to injective mainnet does it need to be approved via the governance process?
You'll need to upload your smart contract code to mainnet which will need to go through governance proposal then you can initiate your smart contract using the code.
ah interesting, as a solidity dev this is a very alien concept
is there a list of contracts which have already been deployed & can be instantiated by anyone?
my use case seems quite generic, looking for a bonding curve token mint/burn wrapper for CW20
You can find the code ids here: https://explorer.injective.network/codes/
And you can check the smart contracts which are already deployed here: https://explorer.injective.network/contracts/
Expanding contract details will have information about which code id it has been initiated from.
fab thank you, will take a look
Last Q, almost there - I can see the wasm bytecode within the code, is there a way I can decompile it to see the callable functions?
Looking for something similar to the way etherscan has a solidity decompiler or write/read functions tab
There is no tool for that. You would need to get in touch with the contract code developer to get access to the source code
Remember that solidity is a JavaScript subset, and JavaScript is an interpreted language. Cosmwasm implementation is Rust, and Rust is not interpreted
gotcha
but is the code not published for each wasm contract? how does the governance process work if people can't review the source code?
would make for great DX if there was a schema for these smart contracts which are callable by everyone, especially if it was integrated into the explorer
I'm sure I can figure it out by going through all the associated txns
I really don't get the question, you want to execute a smart contract with injectived ?
Hi Markus, thanks for your response
I resolved this issue myself already
Hi, can someone assist me? I am looking to know more about the injective network so hopefully we can do dev work. I can't seem to find the genesis hash and hash algorithm of the network. thank you
Hello, is there a problem with the API? I can't do any more transactions and the sequence of my account doesn't increment, I have the error: block height: 65836893, timeout height: 65836580 : tx timeout height
Consensus is tendermint (or rather now renamed to comet-bft). Not sure what you want with genesis hash, but more info here https://docs.injective.network/
Injective is a lightning-fast, interoperable, layer one blockchain optimized for building premier Web3 financial applications. Injective provides developers with robust plug-and-play modules such as a fully decentralized orderbook, binary options, real-world asset (RWA) module, and more, allowing developers to build a diverse array of sophistica...
Try again a few times
That's okay, I think it was temporary, other accounts also had similar problems at the same time. I hope it won't happen again too often.
In fact it's the same problem all over again, what's the reason?
Hey, a protocol I collaborate with is interested in airdropping their token towards injective users. What's the best way to go around it? Is there a submission form we can apply at to get support from the foundation?
Hey guys
Is there anyone here who recently started coding for injective ecosystem and felt that it was hard but now its going fine?
I've deployed "my-first-contract" as the getting started suggests, yet I still feel a big lack of understanding of what I did.
Can someone point me a route/path or how was it for you to get used to it?
Please dm me ser!
I recommend learning CosmWasm development here! https://academy.cosmwasm.com/
Thank you Shayan!
I'll do it
DM sent!
Something cocking
is it possible to query holders of a certain token factory token? or do you have to somehow know the holders and fetch their balances ?
thanks ill check it out
@topaz seal How are you doing today, Abel?
Do we have a code for token launchpad already deployed to the mainnet?
I'm try to using "InjectiveLabs/injective-token-meta” moduel
I tried tokenFactory.toToken(ibc/*** on cosmos)
returnd undefined.
Is that moduel only use INJECTIVE?
Can I use RPC to get information about tokens that do not exist in "meta/token_meta.json"?
When trying to add a testnet network through the official documentation for metamask I receive the error:
This network doesn't match its associated chain ID or name. Many popular tokens use the name INJ, making it a target for scams. Scammers may trick you into sending them more valuable currency in return. Verify everything before you continue.
https://docs.injective.network/develop/inEVM -> https://inevm.caldera.dev/
??
This error is normal. MetaMask simply throws this error to warn of a potential phishing scam. The two links you provided are legit.
the problem is that I sent 1 inj to the EVM account (with the converted address) to the metamask but the amount does not appear in the metamask even though the transaction was successful
I see, please post this in #🆘︲help-and-support-old and I'll be more than happy to help you there. This channel is for technical questions pertaining to Injective development only.
For sure there is, because there are a couple of projects already providing that functionality. But I don't know which ones they are
which wallet does support the injective testnet ? @topaz seal
I can see my cw20 token in explorer but can not see it in Ninja wallet
In general all wallets do allow to add new networks, as a configuration
I am not an expert on Ninja wallet, but I would assume they should provide that option. If not, try Kepler or Metamask
After researching more about it, I discovered that Goerli was deactivated and no longer works, but as said in #🆘︲help-and-support-old , sepolia is not working in the main DOC application in metamask (if someone could test the application
official: https://injective-simple-cosmwasm-sc.netlify.app/ could you see if injective's DOCs are outdated or not)
Hey guys,I wish to create a betting game where users can bet on the outcomes of a red or blue color square. I wish to insure the side that puts in the most value.
Could you please answer a few questions?
1)If injective is built upon the cosmos SDK, could I scaffold a cosmos SDK project and add injective processes to my network, or does injective use low level tendermint consensus causing me to scaffold an injective project first?
If so, what's the project I could start off at?
- Could you point me to an example where a user creates a Binary options market, and further does some bidding game in it?
Thanks.
Shared my question on Indexer on the developer-forums. https://discord.com/channels/739552603322450092/1229105886157475881
would love to hear your thoughts. Thanks!
Answered and closed.
There is also a no-code token creator if thats something you are interested in.
-
Injective uses CosmWasm as its smart contract platform. So are able to scaffold another CosmosSDK project that also uses CosmWasm.
-
No example of such a game exists to my knowledge, but you can see the API docs for creating your own binary options market here: https://api.injective.exchange/#chain-exchange-for-binary-options
Are you looking for a no-code token creator? If so you can use Tokenstation (https://www.tokenstation.app/) or DojoSwap (https://docs.dojo.trading/introduction/market-creation)
I know it @jolly pulsar thanks for sharing for everybody here. ❤️
okay, thanks for your response @topaz seal
okay, got it
thanks for your answer @wet rover
@topaz seal how are you ?
how much INJ need to be deposited for contract upload proposal ?
100 INJ
or you can use this one
https://injscribed.xyz/tokens/create
Tokenstation takes less INJae ser.

Testnet down ?
Tx is being sent for instantiating and i can receive transaction hash but transaction is being not found in injective testnet and also code id too. Why? @primal terrace @topaz seal
Sorry, the message is not very clear. But if you are having issues broadcasting TXs you need to provide all the info for us to investigate. Without all the details to reproduce the issue, we are not able to help you
Hi guys, I am reading about Web3 Gateway API used to delegate transaction fees.
My question is, is there a sample/ sandbox Gateway API developed already to refer to?
Aaah, i’m sorry. I wrote wrong. Just i can’t store code to injective testnet rn. Transaction is being created but on explorer it can’t find my transaction for storing my code. Does testnet have any problems right now ?
@topaz seal
Sorry, but the answer is still the same: we won't be able to assist until all the infor required to reproduce the error is provided
yes 12345678 | injectived tx wasm store artifacts/example.wasm
--from=$(echo $INJ_ADDRESS)
--chain-id="injective-888"
--yes --fees=1000000000000000inj --gas=3000000
--node=https://testnet.sentry.tm.injective.network:443
I used this command and transaction is being created : EDBD1F07C10E1FAE7B41599308DDA0A99973BD3E763A4752D8CEE01A3703E4B0
But on testnet explorer it does not show up. Also my code id is not created.
What is the result in the console after executing the command?
code: 19
codespace: sdk
data: ""
events: []
gas_used: "0"
gas_wanted: "0"
height: "0"
info: ""
logs: []
raw_log: ""
timestamp: ""
tx: null
txhash: EDBD1F07C10E1FAE7B41599308DDA0A99973BD3E763A4752D8CEE01A3703E4B0
Please try adding this parameter and let us know if the error in the console is any different:
--broadcast-mode=sync
Also: do you have enough balance in the account you use to broadcast the TX to pay for the code store cost?
My code id is generated after an hour, i guess testnet is a bit slow rn
Hey guys, Glad to be here, I would like to know what is the minimum stake cost and hardware requirement to become a validator node of INJ?
Does anyone know about this
cpu:
Memory:
Disk:
minimum stake cost:
You can read more about it here https://docs.injective.network/nodes/Validators/becoming-a-validator/
Please use the proper channel #📚・node-resources
The document did not say what the minimum stake amount would be
Can someone gimme a hand here, i want to contribute to develop INJ.
What language should i learn 1st for beginners.
What would you like to do more? Frontend or backend development? If the former, TypeScript. If the latter, Rust.
Hello, can Injective contracts be upgraded like Proxy contracts in EVM?
Ill try typeacript.
Why someone deletes my msg?
I was asking how can I contribute to the INJ ecosystem.
Didnt find any better channel
Sir this is the channel for specific technical questions for current builders. Your question seems more suitable for the #🌆|chit-chat channel. It is not a technical question for sure.
I mentioned that I want to contribute by coding.
I will try in another channel 🙂 ty
hi! im looking into running a node for injective. is there anyone who can help me out here?
please move your question to the proper channel: #🔩・node-operators
ah thanks!
Hi ! I have this weird error suddenly : grpc.aio._call.AioRpcError: <AioRpcError of RPC that terminated with:
status = StatusCode.INTERNAL
details = "failed to list subaccounts for address [MyAddress]: failed to query documents: server selection error: server selection timeout, current topology: { Type: Single, Servers: [{ Addr: mongo:27017, Type: Unknown, Last error: connection() error occurred during connection handshake: dial tcp: lookup mongo on 127.0.0.11:53: server misbehaving }, ] }"
debug_error_string = "UNKNOWN:Error received from peer {grpc_message:"failed to list subaccounts for address [MyAddress]: failed to query documents: server selection error: server selection timeout, current topology: { Type: Single, Servers: [{ Addr: mongo:27017, Type: Unknown, Last error: connection() error occurred during connection handshake: dial tcp: lookup mongo on 127.0.0.11:53: server misbehaving }, ] }", grpc_status:13, created_time:"2024-04-18T21:21:25.8723674+00:00"}"
It happens when I try to run the fetch_portfolio funcion
@topaz seal Can you help ?
What the issue exactly?
I'm trying to get my portfolio informations and i have the error above
that wasn't the case all day
Do you need more information ?
It would be amazing !
Zabelle didn't help me finally can anyone else help me ?
no memeber role
I am a developer who wants to build binary-options trading platform on injective network.
I am gonna bet against bitcoin prices (e.g, BTC/USDT feed).
According to documentation, the oracle type should be Provider, and now I want to know how to build my own oracle or how to use existing oracle for binary markets.
Please help me. I cannot find any relevant documentation.
Thanks.
React/Next for frontend, Solidity and Rust for backend
for language, the first one is Typescript, I guess
of course, TS is essential
Are you using the public servers? Could you share the query you are running?
The problem has been solved after a few hours
you need to see then using https://injective.talis.art/ this channel is for technical questions for developers please use the proper channels for your questions
Hi guys, are you aware if the structure of this event "message" is always like this?
Does it always have these 3 lines "action", "sender" and "module" ?
Could you rephrase the question? Messages are not events, they are messages. I am not sure what you are referring to
Sure! In the events log there is the event type 'message'.
Is it always in the same structure?
Raw screenshot and explorer screenshot shared
The Message is MsgBatchUpdateOrders, right?
And it can have more than one message in each transaction.
But there is the 'event type' called 'message'
yes, that event has the mentioned format
I’m from the @Galactic_Mining team working with @JGnft_is_me launching the @GalacticSynd project on your chain in May. But we are having a little road bump as we are trying to get @arkprotocol to be able to allow us to creat a bridge between INJ and Terra. Is there a point person that I could get in contact with to facilitate this? Thank You for your time.
Haha. Ok. I’ve been directed here and now to there 👍
Hey guys (poke @topaz seal), I was wondering if you had something I could check in order to implement arbitrary signature verification? (I'm using the signArbitrary method of the wallet strategy, and look to verify it). Using the TS package
Could you explain what you mean with arbitrary signature?
cc: @kind flare
No validation possible on the client side, only the chain for now
Using the signArbitrary(signer: string, data: string | Uint8Array): Promise<string> method of the Injective TS package.
Really? But there must be a way, otherwise how would one be able to verify that someone owns a wallet for example? This seems like a "basic" tasks according to what's possible in CosmJS for example.
I'm talking about something like :
- dapp has user sign "Hello I'm <address> with nonce 1234 and want to login" with they wallet
- dapp sends signature + address to the backend and backend can verify that the signature is valid
Send a transaction on chain.
Are you serious?
There must be some kind of misunderstanding there, maybe I'm not making sense lol
I'm just asking for a simple cryptographic signature verification, not anything fancy
Yes, I am, there is no way to do it on the client side for now. If you believe there should be one, please submit a PR and I'll gladly review it. We didn't had the need to do it for now so it wasn't added to the SDK.
I understand why this has not been added to the SDK, probably not enough people asking for it.
But don't you have some snippet of code to spare ? 😭 I know how to verify Injective EVM wallet signatures, but for Cosmos based wallets I have no clue (talking about doing it with CosmJS here). That would help a ton, especially since I've seen I'm not the first to ask for this in this discord server 🙏
I'll add support late this week or early next week
you're awesome
hi. arthur, I got an error when sending the transaction result, it returns the error code: , my address is generated by
hdPath is m/44'/60'/0'/0/0/0.
any1 has an idea how i can use public node with ts sdk? https://injective-rpc.publicnode.com/?testnet (i just started working on injective like 2 hours ago so sorry)
Apparently you can just make an object of your own networks like this:
const endpoints = {
indexer: 'https://sentry.exchange.grpc-web.injective.network',
grpc: 'https://sentry.chain.grpc-web.injective.network',
rpc: 'https://sentry.tm.injective.network',
rest: 'https://sentry.lcd.injective.network',
chronos: 'https://sentry.exchange.grpc-web.injective.network',
explorer: 'https://sentry.exchange.grpc-web.injective.network',
cache: 'https://staging.gateway.grpc-web.injective.network',
web3gw: 'https://sentry.exchange.grpc-web.injective.network'
}
Here's an example to fetch portfolio balances using this:
import { IndexerGrpcAccountPortfolioApi } from "@injectivelabs/sdk-ts";
const endpoints = {
indexer: "https://sentry.exchange.grpc-web.injective.network",
grpc: "https://sentry.chain.grpc-web.injective.network",
rpc: "https://sentry.tm.injective.network",
rest: "https://sentry.lcd.injective.network",
chronos: "https://sentry.exchange.grpc-web.injective.network",
explorer: "https://sentry.exchange.grpc-web.injective.network",
cache: "https://staging.gateway.grpc-web.injective.network",
web3gw: "https://sentry.exchange.grpc-web.injective.network",
};
const indexerGrpcAccountPortfolioApi = new IndexerGrpcAccountPortfolioApi(
endpoints.indexer
);
const injectiveAddress = "inj...";
const portfolio =
await indexerGrpcAccountPortfolioApi.fetchAccountPortfolioBalances(
injectiveAddress
);
console.log(portfolio);
alright can i fetch transactions using rest endpoint>?
or does it have to be explorer?
Can do using the explorer endpoint, can find examples here: https://docs.ts.injective.network/querying/querying-api/querying-indexer-explorer
Hmm, maybe can do using rest endpoint too: https://sentry.lcd.injective.network/cosmos/tx/v1beta1/txs/d137e2c588f826f43452bb926c16a4dbaa5ca4cdc85a057cd2111f4c73d4cd11
Can't find anything about it in docs though, usually the explorer endpoint is used.
Hello, using injective sdk-ts, I'm struggling to construct a PublicKey from a compressed public key in hex.
I've tried many things without sucess.
Code looks something like this:
const injPubKey = PublicKey.fromBytes(Buffer.from(pubkey, "hex"));
I'm getting a pubkey but with the wrong bech32 address.
Any idea? Probably missing some encoding I guess
cc: @kind flare
Injective has different derivation path, so maybe your expected injective address is not the correct one. How did you derive the injective address that you think is correct?
indeed, it was derived with Fireblocks with ethereum as coin_type in derivation path, so I'm currently trying to sign eip712 typed data tx with the ethereum wallet instead
Is there any cw721-base wasm code uploaded to mainnet ? so I can instantiate it and use.
@topaz seal
Not sure about that. But I don't find any gov proposal with a description matching variations of "cw721".
Hi... I have some common doubts emerging while I'm learning coswasm development .
Like... do you know a practical example of what an automated smart contract allows me to do in injective that it is not possible in ethereum?
I do think its good but I could only digest it conceptually
Limit order executions using the exchange module is a byproduct of being able to have automated smart contract executions right?
Not at all. Order books management and orders management in general are part of the core logic in Injective chain.
Could anyone point me to resources for running injective testnet locally for dev?
The official docs have a "todo" there
I'm essentially just looking for a docker env to run and the mnemonic of the dev account
Injective
Once a contract proposal is accepted do contract changes also need a new proposal?
Hi i'm Garve BD with Phoenix labs the team behind spark protocol and MakerDAO. We have a proposal who may i speak with.
hi, how to get ibc token meta data in injective ? anyone can help me? thank you!
Hey Injective team! Fringe Finance has integrated INJ token into the Lending and Margin trading platform. Who is the best person on your end to discuss the community support?
You can check #📥︲collaborations
Hey Garve, check the collaboration channel mentioned above as well!
guys is there any full archivel rpc node
I am trying to generate a wallet for testing using the ts sdk and im getting this error
const privateKey = PrivateKey.generate();```
```error
TypeError: Cannot read properties of undefined (reading 'generateMnemonic')```
any help?
Sorry, I can't help with wasm related questions.
cc: @frosty kiln
You would need to upload the new code, so yes
Not a public one so far as I know. If you need one you could try to chat with any of the nodes providers to see if they can help you running a full archival node, and at what price
Thanks
Please double check your imports. There could be some error when importing PrivateKey
import { IndexerRestExplorerApi, PrivateKey } from "@injectivelabs/sdk-ts";```
If you check the code in PrivateKey you will see that generateMnemnic is imported from the bip39 library.
import { generateMnemonic } from 'bip39'
Please check you have the libraries in your environment
alright, it should have installed it automatically 🙂
@topaz seal
I think the DISTRIBUTE object is wrong, would you please give me an advise ?
Please espeficy the injectived command you are using, and the full error text
pub enum ExecuteMsg
{
SetDistribution {
nft_addr: String,
schedule: (u64, u64, Uint128),
}
}
export DISTRIBUTION='{"set_distribution":{"nft_addr":"inj1zqavka8dqqugp3fu0rr8jhslhcm4r4v2t5lh5s","schedule":["0","0","100"]}}'
yes 12345678 | injectived tx wasm execute inj17fva37s3qtw95ayv8ye7ty2ga7wkyejc4xl6pk "$DISTRIBUTION" --from=$(echo $INJ_ADDRESS) --chain-id="injective-888" --yes --gas-prices=160000000inj --gas=20000000 --node=https://testnet.sentry.tm.injective.network:443
https://testnet.explorer.injective.network/transaction/FC415CDC25F5CB6875E2B00A00E53B86574BBE51C0DA95B00764D1A1EC678014/
I think the issues coming from the schedule property in the DISTRIBUTION object
@topaz seal
Would you please check above msg for me ? @topaz seal
Based on the TX, the problem is inside the contract. But I don't have access to the contract code, so there is not much I can do. I would suggest testing it again respecting the variable names in the JSON representation
hi can you check above msg for me?
i want to get token meta data on injective ,but some ibc token ,i can’t get.
@topaz seal
Sorry, I am not sure if that is possible
You should check IBC documentation
Today while uploading a wasm via the authz grant we have, which worked perfectly well yesterday several times, I'm now seeing
at Dp.sendTransaction```
in the logs. Wondering if you have any clue what this could be? I already tried in an incognito window with a new keplr session. No work. If you look at the reported block height and timeout height, they're different by thousands. Not sure what this is saying. I've tried multiple RPC providers as well.
It smells like a FE bug but really not sure at this point
Disregard. I'm pretty sure some packages on my end were stale
Hi ! I have this error :
grpc.aio._call.AioRpcError: <AioRpcError of RPC that terminated with:
status = StatusCode.INTERNAL
details = "failed to list markets: failed to query documents: server selection error: server selection timeout, current topology: { Type: Single, Servers: [{ Addr: mongo:27017, Type: Unknown, Last error: connection() error occurred during connection handshake: dial tcp: lookup mongo on 127.0.0.11:53: server misbehaving }, ] }"
debug_error_string = "UNKNOWN:Error received from peer {grpc_message:"failed to list markets: failed to query documents: server selection error: server selection timeout, current topology: { Type: Single, Servers: [{ Addr: mongo:27017, Type: Unknown, Last error: connection() error occurred during connection handshake: dial tcp: lookup mongo on 127.0.0.11:53: server misbehaving }, ] }", grpc_status:13, created_time:"2024-04-24T22:16:21.8544399+00:00"}"
When i try to run : client.composer()
It happens suddenly...
I also got this error sooner :
grpc.aio._call.AioRpcError: <AioRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses; last error: UNAVAILABLE: ipv4:51.81.221.159:443: Connection timed out"
debug_error_string = "UNKNOWN:Error received from peer {created_time:"2024-04-24T17:25:15.2097005+00:00", grpc_status:14, grpc_message:"failed to connect to all addresses; last error: UNAVAILABLE: ipv4:51.81.221.159:443: Connection timed out"}"
When i try to run
fetch_subaccount_orders_list
Hello @ocean arch
Is their error fix yet ?
What Network configuration are you using?
Hi ! Yes after a moment without running the script, it worked again
Here is my network config :
network = Network.mainnet()
client = AsyncClient(network)
Is it what you wanted to know @topaz seal ?
Does anyone know how to decode "contract_addr":"ap9EAU7flGVyYxFDD8EATSO75eU="" on the chain?
{"asset_infos":[{"Token":{"contract_addr":"ap9EAU7flGVyYxFDD8EATSO75eU="}},{"NativeToken":{"denom":"inj"}}],"contract_addr":"4DUFF13THM5ptoczh/TicZlJZps=","liquidity_token":"BGIdmryUnZfvSA6HdS1qR8tn7vk=","asset_decimals":[6,18]}
I thought it could be decoded with base64, but when I decoded it with base64, it was garbled.
Hey @kind flare , after trying to sign an EIP-712 message and broadcast it to injective, I'm still facing an incorrect pubkey issue when broadcasting (error: pubKey does not match signer address inj19ndrue0wkh8pdxtnfmz7kg0p3pr7qm95rwwujl).
My compressed pubkey (hex) is 027cec7aa35df6c938c1fa19a5b870212c14346c7c83e75fcc30d7f1615f405808
My injective address: inj19ndrue0wkh8pdxtnfmz7kg0p3pr7qm95rwwujl
As you can see from this tx in the signatures: 0x462cde888c1e00263c379eac49e9ad67ab9c5cc9f0d724ec0c12bb154140cfe3
Could you help figuring out how to construct the base64 pubkey expected by injective-sdk?
https://github.com/InjectiveLabs/injective-ts/blob/4ae8c7ad186b6003edaee69830d2233a949e06b3/packages/wallet-ts/src/broadcaster/MsgBroadcaster.ts#L341 you can have a look here
Yes, thank you.
I can see you are using the public servers. Public servers could stop responding under heavy load and we always suggest users to run their own infrastructure. There are no guarantees when using public servers.
You mean running my own node ?
Okay thanks you ! One more question what should I do when an error like this happens ? My only option is to wait ?
If you are using the public servers yes. If you are running your own node, that error is not expected and an investigation would be required
where i can found node providers for archival node
I am not sure there is any. But you can contact the current node providers and arrange a special configuration with them. Maybe they can provide an archival node too
How much does it cost to host my own node ?
please look for that information in the docs or in #📚・node-resources. You can also ask other node runners in #🔩・node-operators
Thanks, I checked it and implemented it with no luck :/ sill getting the same pubkey does not match signer address issue.
Problem comes from recoverTypedSignaturePubKey I think, it gives me different pubkeys every time I sign a tx
I've opened this issue which is related https://github.com/InjectiveLabs/injective-ts/issues/468
We are using this approach for 3 years now without any issues, you are probably doing something wrong.
yeah injective-sdk was not adapted to our needs. We ended up getting it to work with cosmjs. Only thing to change is to use the StargateClient with injective's accountParser like so:
export default class CustomStargateClient extends StargateClient { static async customConnect({ endpoint, accountParser, }: { endpoint: string; accountParser?: AccountParser; }): Promise<CustomStargateClient> { const tmClient = await Tendermint37Client.connect(endpoint); return new CustomStargateClient(tmClient, { accountParser }); } }
It's a bit misleading to say in the docs that cosmjs cannot be used 😉
Can’t be used out of the box 😉
Sent you a request, wanna talk to you privately, have something very urgent want to talk to you about
We can chat here as well
I understand you bro and I'm telling you you can ping here
Hi, I newbie. I am learning from zero about Injective. My first question, is: I can learn and installr Injective in Windows machine? thank you!
@kind flare You're the freaking man!! Thank you so much for adding the signature verification to the package 🙏
Anytime!
Can you please accept my request first
We can chat here as well
here:
Injective Developer Docs: https://docs.injective.network/
Developer Overview: https://injective.com/developers
Injective is a lightning-fast, interoperable, layer one blockchain optimized for building premier Web3 financial applications. Injective provides developers with robust plug-and-play modules such as a fully decentralized orderbook, binary options, real-world asset (RWA) module, and more, allowing developers to build a diverse array of sophistica...
you should have a look at #⚡︲about-injective channel, it has all the official resources..
Hello sir, happy weekend
Can you assist me on how to track injective NFTs from various INJ wallets?
If there is any Doc I can read Or white paper, I don't mind reading them.
Use Talis API.
They use graphiql for it btw.
You can inspect their page and then check the networks tab to see various endpoints they may have.
Not sure if it's allowed by them though, so dyor if it is fine..
I will, check it out.
How do I get access to it?
Not public, just the API they use on their website.
.
For an official method I think you can also query their smart contract, but you can ask Talis for more details, can't really find any docs they may have.
Apparently they don't allow others to access their API, so if you specifically want to use their API then up to you.
I am on explorer but it is not as easy as when detecting nfts in a wallet on ETH platform
you want to just be able to see your nfts or want to track nfts of wallets for building a dApp or some project?
if you want just for personal use then check tfm/pulsar finance/ninja kits
ok
thank you
Is there a way to see an NFTs in another contract address?
not sure
Hey folks, where can I find latest info on how oracles work on Injective? This page (https://api.injective.exchange/#oracle) refers to MsgRelayPriceFeedPrice and MsgRelayProviderPrices, however I can't find these transactons in the block explorer.
Hi.
how can I help you?
Please tell me more about your need.
hi, I'm trying to deploy a smart contract on the mainnet. can anyone tell what's "proposal deposit", and what amount of inj should I put into it? thank you!
You should read the "Governance" section in the documentation
I am an experienced smart contract developer.
Is there anything I can help you with?
Hello, its possible to run a local node or even just running injected to query the chain through a live node on a raspberry pi ??
you can find the hardware requirements in the docs. You can also post your node related questions in #🔩・node-operators
Hey Im familiar with solidity and EVM but not really with cosmwasm, Is there an easy way to call functions of deployed contracts (Like in etherscan) without diving into cosmwasm too much?
do you have any open position for devs? @buoyant crown
Currently, no. I'll let you know if we need a dev.
okay, thanks
Should I be able to use MsgBroadcaster with an account loaded from metamask? I'm trying to debug a "unknown signer address" issue
I'm able to get the metamask account address, convert the addr to bech32 using getInjectiveAddress, but I guess I'm not sure what I need to do to instantiate the WalletStrategy and/or MsgBroadcaster.
I don't have any issue when I use native cosmos wallets, like keplr, leap, etc. In these cases, I use the graz library to load the user account
I think I have a lead. Problem might be on my end (between my eyes 😄 )
This error is approaching when you connect another wallet without disconnecting your current dApp.
Be careful for the address part of your code when you’re about to create tx. Make sure that it’s same as connected signer address of the current wallet.
Is there a way to get specific transactions ( for example action : swap_tokens ) inside the contract executions on injective explorer via some API or smt else ? @topaz seal
this is the only endpoint to fetch TXs: https://api.injective.exchange/#injectiveexplorerrpc-txs
Inj doesn't yet support CW 2.0, right? Just checking
How to transfer USDT to another address in injective testnet using javascript?
https://docs.ts.injective.network/core-modules/wasm
I tried following this code, but it didn't work because USDT is peggy token, not standard cw token.
Please help me.
Hi, please check MsgSend: https://docs.ts.injective.network/core-modules/bank#msgsend
Hi @lime ruin MsgSend is for sending native coin ($INJ), not for cw20 token.
am I wrong?
Yes, but you're trying to transfer USDT right?
USDT isn't a CW20 token.
Just change the denom here to the denom of USDT.
const amount = {
denom: 'peggy0x...',
amount: ''
}
Oh, and MsgSend isn't only for INJ, the factory tokens and the peggy tokens can also be transferred using it.
Ah, I see, Thank you so much.
I believe it would be good to add this section in your documentation.
Thank you for the suggestion! We will add this in to provide clarity as to transferring TokenFactory tokens and Peggy tokens vs. CW20 tokens.
how and when will I be able to get back the deposit that I paid for mainnet deployment?
You mean the proposal deposit? Please read the procedure here: https://blog.injective.com/en/injective-governance-proposal-procedure/
thank you!
Hi i'm Arbitrum ambassador from Japan
I have some question for dev in Injective
where is docs about inSVM
inSMV is now live?
Only inEVM currently; https://docs.inevm.com/getting-started/deploy-on-inevm
inSVM is still in testnet
Thank you!
Is new @injectivelabs/wallet-ts module working correct ?
i got such error when i use npm run dev after installing wallet-ts module
No matching export in "node_modules/@ledgerhq/errors/lib-es/index.js" for import "TransportRaceCondition"
all devs are here?
i am a full stack web 3.0 developer how can i contribute to injective?
Here's the GitHub of Injective Labs with all the repositories listed: https://github.com/InjectiveLabs/
i am planning on creating P2P market for injective coins
If you want to build on Injective then you can get started by reading the developer documentation: https://docs.injective.network/
Injective is a lightning-fast, interoperable, layer one blockchain optimized for building premier Web3 financial applications. Injective provides developers with robust plug-and-play modules such as a fully decentralized orderbook, binary options, real-world asset (RWA) module, and more, allowing developers to build a diverse array of sophistica...
okay lets see
hope Injective will collaborate
What is the zero address that I can renounce denom Admin (I'm using the Tokenfactory module)?
Please check the docs https://docs.ts.injective.network/readme/token-metadata/creating-tokens
Thanks
Hey Devs,
I am trying to get the event logs from specified block range using this url:
https://injective-rpc.publicnode.com/tx_search?query=%22wasm-CallMessage._contract_address%3D%27inj177fx40l0g3jqmtmmuyl2zhrjvhr3knvthlr0ul%27+AND+tx.height%3E%3D69726403%22&per_page=100
But the response is saying that
Please specify tx.height event with strict equality. Thank you for understanding
How do I achieve that? In my requirement, I don't know exactly which block has the transaction of my need so have to poll between blocks to get the desired response.Please help me with this one.
i need collaboration from other devs let’s build meme on injective
@topaz seal any idea on this?
Hello @oak lotus. That does not seem to be a standard query, at least I can't match it with any query in the node's API. Could you double check with the node provider if that is a special query provided by them? If that is the case they should be able to provide the info you need
Hmm alright. Then what's the standard procedure to query the event logs from block A to block B in Injective?
That query was working for me for Archway and tried same with Injective but it didn't work.
there is no query that will facilitate that for you, since that would impose a heavy load on the node side. You need to query each block and check the information on your end
Polling each block from the frontend seems like very tedious and heavy task, especially when I don't know after how many blocks the event will arrive. There isn't any other mechanism to poll or at least listen to events from certain blocks?
@topaz seal
Almost every other popular blockchains allow querying that way. Wonder how they managed it
but don't do it in the front end, do it it in your backend and pass it to the front end
Theere's no way to listen to events at all?
yes, there is. But that is not Injective specific. That is provided by Cosmos echosystem really
but that is a websocket connection that will broadcast events as they happen, it does not provide historical info
Almost all popular blockchain allow events querying in block, why Injective doesn't support it?
https://rpc.mainnet.archway.io/tx_search?query=%22wasm-CallMessage._contract_address%3D%27archway19hzhgd90etqc3z2qswumq80ag2d8het38r0al0r4ulrly72t20psdrpna6%27+AND+tx.height%3E%3D3774352%22&per_page=100
You can see same type of query is supported by Archway, another chain in cosmos ecosystem.
@topaz seal
need some help
i use JS for generation my wallet addresses
I'm getting same addresses for cosmos, Nuetron but INJ different from my Keplr wallet address
any help pls ? 😄
Anything supported by Cosmos SDK should be supported by Injective too. If it is not working, then it might be something changed either in the node configuration or the node code. What I meant with my initial response is that Injective chain does not provide anything specific for this (meaning, implemented by InjectiveLabs team)
Whom can I consult with that specific issue then? Same query params returning value in Archway but not in Injective.
Who does that node you are using belong too? Who is the owner?
hey abel, could you check my issue please ?
#🚀・dev-support message
are you using injective-ts SDK?
nope
"@cosmjs/crypto": "^0.32.3",
"@cosmjs/launchpad": "^0.27.1",
"@cosmjs/stargate": "^0.32.3",
JS ES6
Then that is your problem, you should be using injective-ts sdk
@topaz seal In my smart contract, I have denoms with type cw20::{ Denom }.
When instantiating the smart contract, how can I define token pairs with ibc or factory prefix?
ex. ibc/D50E26996253EBAA8C684B9CD653FE2F7665D7BDDCA3D48D5E1378CF6334F211
We need @frosty kiln assistance on this topic
is there any difference in terms of gas utilization when a contract queries its own state vs. querying the state of another contract via QuerierWrapper?
essentially, i have two contracts: A and B. B has to query an enumerable, paginated mapping from A to periodically perform computations. I'm trying to figure out if it is more efficient (in terms of resource usage/gas) to cache the mapping in B or to just query it every time it is needed
okay, got it
@frosty kiln can you help me with this one?
Querying the state of another contract via QuerierWrapper usually costs slightly more gas than querying its own state directly. Caching can save gas if data is accessed often and doesn’t change much. But if the data is big or changes frequently, direct querying might be more efficient. It depends on your specific situation!
anyone here knows if there's an efficient way to get all token holders with their balance of a cw20 token? trippy provides a tool, but its slow it has to send many requests
You can directly query the token contract on the blockchain to get all holders and their balances.
The Injective ABI might be in the docs or GitHub, but for decoding Helix transactions, you might need Helix-specific info.
Injective is a lightning-fast, interoperable, layer one blockchain optimized for building premier Web3 financial applications. Injective provides developers with robust plug-and-play modules such as a fully decentralized orderbook, binary options, real-world asset (RWA) module, and more, allowing developers to build a diverse array of sophistica...
thx figured out, we improved trippy token holder tool
thanks BINI, any idea how I can get such info?
I don’t know tbh
You can ask in #💻︲api-support
@frosty kiln Are you around here now?
Is testnetsentry down ? I can’t query sc.
ibc and factory are bank denoms not cw20, so you would have to use them as bank. or if you have to use cw20, then you can use https://github.com/InjectiveLabs/cw20-adapter on mainnet: https://explorer.injective.network/contract/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/. it allows you to convert bank <> cw20 tokens. there are no guides for it unfortunately, so you'll have to read a bit into the code to understand it
Hi all,
I'm definitevely not a developper but I manage to do little things.
I'm now tryng to retreive the list of NFT owners of a specific collection but I don't know how to do it by a simple request.
I checked here: https://api.injective.exchange/#wasm-smartcontractstate but I don't know how to build the query...
developping in Python 🤷♂️
and can't I just retreive the data I want with a GET request ? 🙏
Just by reading the error message, it's telling you what the problem is. The "query" variable seems to be invalid. I'd try this: query = '{"all_nft_info": {"limit": 300, "start_after": 0}}'
@frosty kiln Thanks for your response, Markus
I'd like to know how we can pass tokenfactory denoms to injective cli when we instantiate the smart contracts?
Denoms in the smart contracts are defined with type cw20::Denom.
You can use the swagger page to how to query nodes using REST requests
Same error... 😢
Yep, I tried but unforntunately, it doesn't tell me how to build the query 😭
and this works in js....
@topaz seal even with swagger, I don't know how to feed the query... 🤷♂️
How do I switch to my own RPC node? Can you give me code examples? thank you
the query depends on the smart contract implementation and the API it provides. You will have to check with the contract's developer
Does anyone know how to succesfully create a CW20 token from your rust contract (afaik it should communicate with inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk as the CW20 Tokenfactory)
Is there any chance to run injective node from source code? Can I somehow modify it?
How to subscribe for getting events on injective via websockets?
And can I somehow change link of node to fetch info from on Indexer API?
Hello devs, I'm getting a rust error missing field workspace when building the demo contract https://docs.injective.network/develop/guides/injective-101/your-first-contract#building-the-contract
I have created new cw20 token through token station.
How to import this token in my kepler wallet? I saw there is denom, but it didn't work.
Can anyone help me? Thanks
Or is this not cw20 token? How to create cw20 token?
@soft dome @topaz seal can you help me?
I am not sure if Keplr supports CW20 tokens. You should check with them
Hello , is there a way I can sign into my ledger using coding?
does anyone need a developer?
Hello dev, There is my question. How is it possible to process 25000 TPS? Even if this topic is not important these days, I just wonder that.
Each transaction has to be checked their digital signature. it takes at least 2 miliseconds approximately.
If i am right, it is impossible processing transactions over 25k.
That is why i am asking in here.
Is it processed in parallel?
maybe although this is stupid question, but could someone explain it?
Hello everyone!
We’ve completed an integration with Notifi to improve our communication channels across the ecosystem. We encourage everyone to subscribe, as it’s going to be our primary means of communication with all Injective builders and participants. All users can now receive real-time updates through their preferred communication platforms, including Telegram, Discord, E-mail and Slack. You can subscribe to receive notifications for:
- Injective SDKs (Python, Go, Typescript)
- Chain upgrades (Testnet & Mainnet)
- Developer tooling
- New market listings
- Incentive programs
- Community updates
And many more!
To subscribe please follow this link: https://injective.com/notifications/
@topaz seal @soft dome could you please help on above?
So Talis in that case for instance ?
@velvet hollow I think it does, as it currently shows a couple native tokens on Injective, like Hidro, DOJO, etc. I think the token information needs to be added to injective-lists, though.
Yep
I have created a Token on TokenStation but it seems I can't find it on my keplr wallet.
Who can help me with this?
You should liase with Talis team in that case
@topaz seal This seems to be the same case as before. I've also seen others asking the same in other communities. Is it correct that the token metadata needs to be pushed to the injective-lists repo, for it to be shown on Keplr?
Thank you for your reply.
Let me explain in more detail.
So I have created a denom throughout TokenStation on Injective testnet but I can't check the new created token on my Keplr wallet.
Denom: factory/inj172z2fxya77cfeknz93vv4hxegfdave6g7uz9y9/TestInj
Supply: 1000000000
Symbol: TestInj
Name: TestInj
Display: TestInj
Decimals: 6
Description: Test Injective Token
Logo URL: ipfs://bafkreie2jq5zqgias2pjct6dhord7iwtihylycx7xvl5kkpytjr7c2idny
Admin: inj172z2fxya77cfeknz93vv4hxegfdave6g7uz9y9
where can I get the kira faucet?
if keplr wallet does not supports viewing that token then it won't show.
use injective hub to see it.
maybe, if i think i remember seeing cw20 tokens in keplr
but tokenstation does not make cw20 tokens
it makes the token factory tokens
Yes. they make native tokens.
So your opinion is to use injective hub?
yup
or wallet which supports viewing native tokens too
like leap or ninji
or cosmostation too I think
Thank your for your help.
To be honest, I could not tell you. I am not part of the Keplr team
Actually, I mean this repo: https://github.com/InjectiveLabs/injective-lists
@topaz seal could you please help me? 😦
But if I read correctly your question was "for it to be shown on Keplr". And my answer is: I don't know what you have to do for a token to be shown in Keplr, because I am not part of the Keplr team
All your questions are addressed in the documentation pages. If you have any issues following steps described in the docs, then we will be happy to help you with that. But we generally avoid replying questions that are already covered in the docs
Hello guys
I want to build a custom perpeptual dex on INJ, should I build the own matching engine or could I can use INJ for that? I don't want to use shared orderbook
@topaz seal
Could you clarify what you mean when you say you don't want to use a shared orderbook? All orderbooks in injective are available for anyone to interact with them. It is not possible to set permissions for a particular orderbook.
here is the documents for building a dex, but I see only FE code, that means I will use your Dex SC, right? If true, that means my dex is use shared orderbook with another dex (cuz use the same smart contract). And I don't want that
If you think the orderbooks in Injective are implemented using smart contracts, I strongly recommend you to visit the documentation page (not the TS SDK documentation page, the Injective documentation page). You are not understanding the most basic and fundamental aspect of Injective chain
do you have any github repos for custom perp dex, including SC and architecture @topaz seal ?
I cannot find anything related to running indexer api locally in the docs.
https://github.com/InjectiveLabs/sdk-go/issues/222
could anyone know this?
I've followed your readme.md and install the package, but it doesnt work Environmet: MacOS, Chip M1 Pro
Are you sure you are reading the correct doc page? https://docs.injective.network/nodes/running-a-node/api_traders
API traders who wish to run their own node for enhanced performance should refer to the Injective Exchange Service Setup Guide. This guide outlines the setup process for a core Injective node in addition to an Indexer service which is necessary for querying exchange data. Step 8 (Optionally Running the DEX Stack) can be skipped, as this is only ...
Thanks
However, can I write my own indexing service that connects to the websocket of "NewBlock" or "Tx" event and save this data? If so, how can I connect to my local node? I found this https://docs.tendermint.com/v0.34/tendermint-core/subscription.html . Is it still working?
Yes, of course you can. However the websocket events is something implemented at the Cosmos SDK level, not the Injective level. You need to check Cosmos documentation
Thanks!
Sure sure, okay. It was only a tryout answer to the guy, meanwhile trying to confirm with you, since you could know a little more about it. But it's okay, point taken.
@topaz seal Is quantity === leverage on a derivative order?
hey has anyone used instantiate2 in a contract before? im using deps.api.addr_humanize(&cosmwasm_std::instantiate2_address(...)) and im getting the wrong address (too long, like normal CosmWasm chains), presumably because deps.api.addr_humanize doesn't know to use injective's shorter address format
leverage indicates how big is the quantity compared to the margin provided
is there any verbose docs around constructing a perp message?