Comments (5)
@mvines awesome, (0) is already implemented on the custom-testnet branch:
1605217#diff-1e5251f0c8caa1a663183aa6b0bd36e3R221
I'll start a dev task to make the changes in (3) over the next few days (there
are probably a couple visualization tasks which are higher priority)
from example-tictactoe.
I'm now seeing this issue consistently after any game
from example-tictactoe.
@mvines looks like both programs use tick_height now instead of a client-provided timestamp.
https://github.com/solana-labs/example-tictactoe/blob/master/program-native/src/lib.rs#L179
https://github.com/solana-labs/example-tictactoe/blob/master/program-bpf/src/tictactoe/tictactoe.c#L385
This appears to have changed in this commit:
The Solana Rust SDK looks like it has a timestamp() function, but I couldn't find one in the BPF sdk:
https://github.com/solana-labs/solana/blob/master/sdk/src/timing.rs
Do you have a preference for how this gets fixed?
- very lightweight, no program change: web client keeps track of tick_height to epoch millis
- similarly lightweight, no program change: node "server" keeps track of tick_height to epoch millis
- least lightweight, program change(s): program state include epoch millis as data structure
Thank you in advance for any advice you may have!
from example-tictactoe.
(3) would be nice as a longer term fix. In the immediate term I'd be fine with option (0), just hide the recent game time from the UI though :)
from example-tictactoe.
Please revert 458adce as a part of fixing this issue
from example-tictactoe.
Related Issues (11)
- Build the BPF C program failed HOT 3
- Keep alive transaction is failing
- TypeError: Expected a value of type `undefined` for `result.rent_epoch` but received `4`. HOT 4
- Enable automatic Heroku deploys
- `npm run start` exits after dashboard creation HOT 1
- Broken link
- Use of `programId`, not `owner` HOT 2
- Error loading BPF program HOT 1
- some readme links are broken HOT 1
- update transaction URL to reflect block explorer HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from example-tictactoe.