---
title: DISCORD | Wednesday, 2021-08-25
tags: discord, rust, pullrequest, keystore
excerpt: Whassa Fossa? Lessons learned from yolo-ing into a Rust contract. Stats Stat!
createdAt: Wednesday, 2021-08-25
---
# DISCORD | Wednesday, 2021-08-25
## Summary of various Discord channels, issues, and topics for a 24 hour period (12am-12am EST)
:::details LAST CALL FOR NEAR [METABUIDL](https://metabuidl.splashthat.com/) HACKATHON!!!
### ! ! ! SIGN UP NOW ! ! !
- Did you know that NEAR Foundation offers a bonus for referring someone to their grants program? Make sure the person you're referring mentions you when they apply for the grant. Also, it's never been easier to get funding. :hugging:
- MetaBUIDL IS THIS WEEK!!!!! It’s our duty to ensure it’s open, secure, and in the power of the people. Time to METABUIDL with NEAR! Share! Retweet! Invite your contacts!
- 1,000,000 in prizes & funding
- Aug 27 - Sep 12
- Open to all online participants. link
:::
***
### \#dev-support
#### Question: [(link)](discord://discordapp.com/channels/490367152054992913/542945453533036544/880006118573760543)
- Do I need keyStore to connect to network?
- User is receiving `Cannot read property 'keyStore' ` Error when trying to connect to network [(link)](discord://discordapp.com/channels/490367152054992913/542945453533036544/880011408799064105)
#### Answers:
- KeyStore is required to _sign_ a transaction. Connecting to the network does not require a keyStore.
- Example in [connection guide](https://github.com/near/near-api-js/blob/master/examples/quick-reference.md#connect)
- Suggested implimentation of the code [link](discord://discordapp.com/channels/490367152054992913/542945453533036544/880013244952084511)
```javascript
this.connection = await connect({
networkId: this.config.networkId,
nodeUrl: this.config.rpcUrl,
keyStore: new nearApi.keyStores.InMemoryKeyStore()
});
```
- Although, KeyStore is not required to connect, this type of error has come up, and `near-api-jsv.0.42v` provided a [fix](https://github.com/near/near-api-js/pull/641) for this.
- Without knowing more about the user's implementation, it's possible they will need to create a new issue and link the [previous issue](https://github.com/near/near-api-js/issues/640) for context.
***
#### Question:
- Will there be a release of an example for the NFT https://examples.near.org/NFT with assembly script?[(link)](discord://discordapp.com/channels/490367152054992913/542945453533036544/880092592698720326)
#### Answer:
- It is being worked on. Stay up to date on it [here](https://github.com/dOrgTech/proof-of-attendance)
***
#### Question, re: FOSSA API key:
- Dev wanted to make a PR to near/docs, but when they submitted their PR, the checks on Travis CI failed:
```github
FATAL Could not initialize
TROUBLESHOOTING: A FOSSA API key is needed to run this command.
```
[(PR link)](https://github.com/near/docs/pull/822).
#### Answer:
- It is a known issue that is currently being worked on.
***
### DevRel Office Hours
:::info info
Highlights from the musings that occured during the voice chat. Hope you enjoy!
EVERY WEEKDAY (M-F) from 11AM-12PM PST (6PM - 7PM UTC)
lurkers welcome! :nerd_face:
post your questions in _#devrel-chat-office-hours_
any links mentioned in the chat can be found here the following day as well.
:::
A few links taken out of context from Monday's office hours. Most have to do with finding the most current tutorials.
- Discussion on options for streamlining and reorganizing the Discord channels.
- "upgrading" a ref-finance contract. [(link)](https://github.com/ref-finance/ref-contracts/blob/main/ref-exchange/src/owner.rs)
- [Specific section](https://github.com/ref-finance/ref-contracts/blob/946f58a216125f8c149853ed9e608ac60368c1cf/ref-exchange/src/owner.rs#L60-L70)
```rust
pub fn migrate() -> Self {
let contract_v1: ContractV1 = env::state_read().expect("ERR_NOT_INITIALIZED");
Self {
owner_id: contract_v1.owner_id,
exchange_fee: contract_v1.exchange_fee,
referral_fee: contract_v1.referral_fee,
pools: contract_v1.pools,
deposited_amounts: contract_v1.deposited_amounts,
whitelisted_tokens: UnorderedSet::new(b"w".to_vec()),
}
}
```
***
- And to finished off the days session with team debugging session to help a dev new to Rust connect their frontend and the contract code.
* Errors seemed to be thrown from both client and server.
* suggestsion: call contract from command line to make sure it's working.
* use `near-cli` to call functions on your [contract]( https://docs.near.org/docs/tools/near-cli#contracts)
```rust
$ near call $CONTRACT method `{"key": "value"}`
```
**Suggestions**
* Write tests for your contract.
* Use VMContext in your test env to simulate account balances, etc.
* This way you don't have to rebuild/redeploy with every update, and you will save a ton of time.
* Once you're sure your contract is working _then_ tackle how your front end is wired up.
***
#### Highlights
:::details Want to know how you rate in the NEAR community??
##### [stats.gallery](http://stats.gallery/) officially launched!!!




:::
## Takeaways
- DevRel is a great place to keep upto date and figure out tech problems.
- If you are even considering joining MetaBuidl Hackathon... Stop thinking just [sign up now!!](https://metabuidl.splashthat.com/)
- Amazing things are coming soon to NEAR. Keep up to date at NEAR Sighted!