我有几个 keccak,如果我能找到一种便宜的方法来获取所创建的 uint 的一部分,那么它们可以减少到一个。
pragma solidity ^0.4.19;
contract test {
function test() {
}
function sup() returns (uint test) {
uint _test = uint(keccak256("wow"));
return _test;
}
}
Run Code Online (Sandbox Code Playgroud)
这会返回一个甜蜜的随机数:13483274892375982735325
现在的计划是,我不用用不同的“种子”调用 keccak 5 次,而是可以将该数字分开并得到类似:1348、3274、8923 等的内容,然后将其用作我的随机数,例如:1348 % 10
但坚固性并不能仅仅做到这一点。有什么便宜又好用的东西吗?
我正在 next.js 应用程序中制作一个简单的动画。
let flipInterval = useRef();
const startAnimation = () => {
flipInterval.current = setInterval(() => {
setIsFlipping((prevFlipping) => !prevFlipping);
}, 10000);
};
Run Code Online (Sandbox Code Playgroud)
因为flipInterval.current我收到“类型‘超时’不能分配给类型‘未定义’”。所以我检查了如何使用超时类型,我看到人们正在使用,但那不起作用。
let flipInterval = useRef<typeof window.settimeout>();
Run Code Online (Sandbox Code Playgroud)
我也通过了号码useRef<number>()我收到“类型‘超时’不能分配给类型‘数字’”
这也不起作用
let flipInterval = useRef<typeof window.setInterval>();
Run Code Online (Sandbox Code Playgroud) 如何registration使用自定义凭据提供程序 ( email+ password) 处理此问题?
目前我的[...nextauth].js样子是这样的:
import NextAuth from 'next-auth'
import Providers from 'next-auth/providers'
import axios from 'axios'
import jwt from "next-auth/jwt";
const YOUR_API_ENDPOINT = process.env.NEXT_PUBLIC_API_ROOT + 'auth/store'
const providers = [
Providers.Credentials({
name: 'Credentials',
authorize: async (credentials) => {
try {
const user = await axios.post(YOUR_API_ENDPOINT,
{
password: credentials.password,
username: credentials.email
},
{
headers: {
accept: '*/*',
'Content-Type': 'application/json'
}
})
console.log('ACCESS TOKEN ----> ' + JSON.stringify(user.data.access_token, null, 2));
if (user) {
return …Run Code Online (Sandbox Code Playgroud) 我在http://www.test.com上添加一个带有以下脚本的API :
<script src="http://apiendpoint.com/api/v1/api.js"></script>
<div id="api" data-apikey="LA59CJI9HZ-KIJK4I5-3CKJC"></div>
Run Code Online (Sandbox Code Playgroud)
api.js
$(function () {
apikey = $('#api').data('apikey');
$("#api").load("http://apiendpoint.com?apikey=" + apikey);
})
Run Code Online (Sandbox Code Playgroud)
当我加载页面时,我收到以下错误:
XMLHttpRequest无法加载 apiendpoint URL.CORS策略已阻止从" apiendpoint URL " 重定向到" apiendpoint URL ":请求的资源上没有"Access-Control-Allow-Origin"标头.因此,不允许对" 测试URL "进行访问.
在apiendpoint.com的路径中,我在.htaccess中添加了以下代码:
Header set Access-Control-Allow-Origin "*"
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我正在使用 Prisma 和 Next.js。当我尝试从 Prisma 中检索内容时,getStaticProps它确实获取了数据,但我无法将其传递给主要组件。
export const getStaticProps = async () => {
const prisma = new PrismaClient();
const newsLetters = await prisma.newsLetters.findMany();
console.log(newsLetters);
return {
props: {
newsLetters: newsLetters,
},
};
};
Run Code Online (Sandbox Code Playgroud)
正如您在此图中看到的,它正在获取并打印内容。
但是当我通过时,我收到以下错误,将其作为道具传递
Reason: `object` ("[object Date]") cannot be serialized as JSON. Please only return JSON serializable data types.
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Nextjs 13 与 Next-auth 和 Apollo 客户端。为此,我们用提供者包装根布局,但我们也需要'use client'指定。我对图书馆没有任何问题。
但令我困惑的是,nextjs 13 app dir 默认使用服务器优先的方法,如果我将根布局视为客户端,它是否会使所有页面成为客户端?因为,据我所知,根布局是整个路线的父级
我对node.js很新,我似乎无法在任何地方找到关于节点绑定的定义.我已经看到这个术语用于幻灯片和nodejs会谈,但从未明确解释过.任何人都可以帮我澄清这个概念.我附上了我所指的内容.
我正在得到
类型“Window & typeof globalThis”上不存在属性“ethereum”
反应中的错误。这是产生问题的行:
import { ethers } from 'ethers'
const provider = new ethers.providers.Web3Provider(window.ethereum);
Run Code Online (Sandbox Code Playgroud)
知道会发生什么吗?
我将 next auth v4 与 next js 13 beta 和服务器组件一起使用,一切正常。但我有一种情况,我需要知道登录的用户 ID,因为我正在使用下一个身份验证,我可以访问会话,我可以使用 useSession() 但随后我需要使该组件成为客户端组件,所以我想在服务器上使用它,我可以在 API 中使用 getServerSession 因为我可以访问 req & res 对象,但在下一个带有新应用程序目录的 js beta 中,我不能这样做。如果您知道如何解决该问题,请告诉我。谢谢
import { getServerSession } from "next-auth";
import { authOptions } from "@/pages/api/auth/[...nextauth]";
const Test = async () => {
const user_id = 1; // How do I get user id from session, user_id is available in session
// I don't have access req & res object in server component.
const data = await getServerSession(request, response, authOptions); …Run Code Online (Sandbox Code Playgroud) 我现在想升级到 Next 13。我的投资组合上有不同的导航栏。如何为 /about 和 /skills 路由使用与主页和 /contact 路由不同的导航栏?
我认为您现在可以在应用程序目录中创建不同的子文件夹,每个子文件夹都包含layout.tsx 文件,但随后会创建相应的不需要的路由。
我尝试了以下文件结构:
/app/LayoutOne/layout.tsx
/app/LayoutOne/page.tsx
/app/LayoutOne/contact/page.tsx
/app/LayoutTwo/layout.tsx
/app/LayoutTwo/about/page.tsx
/app/LayoutTwo/skills/page.tsx
Run Code Online (Sandbox Code Playgroud)
但后来我有以下路线:
../LayoutOne
../LayoutOne/contact
../LayoutTwo/about
../LayoutTwo/skills
Run Code Online (Sandbox Code Playgroud)
我不想要 URL 中的布局部分
next.js ×5
javascript ×4
reactjs ×4
next.js13 ×3
blockchain ×2
ethereum ×2
next-auth ×2
prisma ×2
typescript ×2
animation ×1
beta ×1
cors ×1
ethers.js ×1
node.js ×1
serializable ×1
session ×1
settimeout ×1
solidity ×1
string ×1